MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
rpn.cc File Reference
#include "rpn.h"
#include <cassert>
#include <cmath>
#include <limits>
#include <mutex>
#include <regex>
#include <sstream>
#include <utility>
#include "utils.h"

Classes

class  routing_guidelines::rpn::Regex_store
 

Namespaces

namespace  routing_guidelines
 
namespace  routing_guidelines::rpn
 
namespace  routing_guidelines::rpn::anonymous_namespace{rpn.cc}
 

Macros

#define MATH_OP(op, name)
 

Enumerations

enum class  routing_guidelines::rpn::Guidelines_vars {
  routing_guidelines::rpn::local_cluster , routing_guidelines::rpn::router_hostname , routing_guidelines::rpn::router_bind_address , routing_guidelines::rpn::port_ro ,
  routing_guidelines::rpn::port_rw , routing_guidelines::rpn::port_rw_split , routing_guidelines::rpn::route_name , routing_guidelines::rpn::name ,
  routing_guidelines::rpn::server_label , routing_guidelines::rpn::server_address , routing_guidelines::rpn::server_port , routing_guidelines::rpn::uuid ,
  routing_guidelines::rpn::server_version , routing_guidelines::rpn::cluster_name , routing_guidelines::rpn::clusterset_name , routing_guidelines::rpn::is_cluster_invalidated ,
  routing_guidelines::rpn::member_role , routing_guidelines::rpn::cluster_role , routing_guidelines::rpn::target_ip , routing_guidelines::rpn::target_port ,
  routing_guidelines::rpn::source_ip , routing_guidelines::rpn::session_rand , routing_guidelines::rpn::user , routing_guidelines::rpn::schema
}
 

Functions

bool routing_guidelines::rpn::anonymous_namespace{rpn.cc}::check_nulls (const Token &lhs, const Token &rhs, bool bools=false)
 
bool routing_guidelines::rpn::operator== (const Token &lhs, const Token &rhs)
 
bool routing_guidelines::rpn::operator< (const Token &lhs, const Token &rhs)
 
bool routing_guidelines::rpn::operator<= (const Token &lhs, const Token &rhs)
 
std::string routing_guidelines::rpn::to_string (const Token::Type tt)
 
std::string routing_guidelines::rpn::to_string (const Token &token, bool print_value)
 
const std::map< Guidelines_vars, std::string_view > & routing_guidelines::rpn::get_vars_names ()
 
void routing_guidelines::rpn::anonymous_namespace{rpn.cc}::reduce_network (std::vector< Token > *stack, int netmask)
 
void routing_guidelines::rpn::anonymous_namespace{rpn.cc}::reduce_concat (std::vector< Token > *stack, int count)
 
bool routing_guidelines::rpn::operator== (const Expression &l, const Expression &r)
 
bool routing_guidelines::rpn::operator!= (const Expression &lhs, const Expression &rhs)
 
std::string routing_guidelines::rpn::error_msg (const char *msg, const std::string &exp, int beg, int end)
 
std::vector< std::string_view > routing_guidelines::rpn::get_variables_names ()
 

Variables

static Regex_store routing_guidelines::rpn::g_regex_store
 

Macro Definition Documentation

◆ MATH_OP

#define MATH_OP (   op,
  name 
)
Value:
{ \
assert(stack.size() >= 2); \
auto &o1 = stack.end()[-2]; \
if (!o1.is_null()) { \
if (!o1.is_num()) \
throw std::runtime_error("left operand of " name \
" needs to be a number"); \
auto &o2 = stack.back(); \
if (o2.is_null()) { \
o1 = o2; \
} else { \
if (!o2.is_num()) \
throw std::runtime_error("right operand of " name \
" needs to be a number"); \
stack.end()[-2].number() op stack.back().number(); \
} \
} \
stack.pop_back(); \
break; \
}
case opt name
Definition: sslopt-case.h:29
task_env * stack
Definition: task.cc:896