MySQL 9.2.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
routing_guidelines::rpn::Context Class Referencefinal

#include <rpn.h>

Public Member Functions

 Context ()
 
 Context (const Context &)=delete
 
Contextoperator= (const Context &)=delete
 
Token get_tag (std::string_view name) const
 
Token get (const std::string &name) const
 
Token get (int offset) const
 
Token::Type get_type (std::string_view name, int *offset) const
 
std::optional< std::string > get_var_name (const Token &tok) const
 
template<class T >
void set (const std::string &name, T &&value)
 
void set_server_info (const routing_guidelines::Server_info &server_info)
 
void clear_server_info ()
 
void set_session_info (const routing_guidelines::Session_info &session_info)
 
void clear_session_info ()
 
void set_sql_info (const routing_guidelines::Sql_info &sql_info)
 
void clear_sql_info ()
 
void set_router_info (const routing_guidelines::Router_info &router_info)
 
void clear_router_info ()
 

Private Member Functions

std::unique_ptr< bool, std::function< void(bool *)> > start_parse_mode ()
 
Token handle_miss (std::string_view name) const
 

Private Attributes

const routing_guidelines::Router_inforouter_ {nullptr}
 
const routing_guidelines::Server_infoserver_ = nullptr
 
const routing_guidelines::Session_infosession_ = nullptr
 
const routing_guidelines::Sql_infosql_ = nullptr
 
std::map< std::string, int, std::less<> > context_
 
std::vector< std::function< Token()> > context_vars_
 
bool parse_mode_ {false}
 
bool extended_session_info_ {false}
 

Friends

class routing_guidelines::Rules_parser
 

Constructor & Destructor Documentation

◆ Context() [1/2]

routing_guidelines::rpn::Context::Context ( )

◆ Context() [2/2]

routing_guidelines::rpn::Context::Context ( const Context )
delete

Member Function Documentation

◆ clear_router_info()

void routing_guidelines::rpn::Context::clear_router_info ( )
inline

◆ clear_server_info()

void routing_guidelines::rpn::Context::clear_server_info ( )
inline

◆ clear_session_info()

void routing_guidelines::rpn::Context::clear_session_info ( )
inline

◆ clear_sql_info()

void routing_guidelines::rpn::Context::clear_sql_info ( )
inline

◆ get() [1/2]

Token routing_guidelines::rpn::Context::get ( const std::string &  name) const

◆ get() [2/2]

Token routing_guidelines::rpn::Context::get ( int  offset) const
inline

◆ get_tag()

Token routing_guidelines::rpn::Context::get_tag ( std::string_view  name) const

◆ get_type()

Token::Type routing_guidelines::rpn::Context::get_type ( std::string_view  name,
int *  offset 
) const

◆ get_var_name()

std::optional< std::string > routing_guidelines::rpn::Context::get_var_name ( const Token tok) const

◆ handle_miss()

Token routing_guidelines::rpn::Context::handle_miss ( std::string_view  name) const
private

◆ operator=()

Context & routing_guidelines::rpn::Context::operator= ( const Context )
delete

◆ set()

template<class T >
void routing_guidelines::rpn::Context::set ( const std::string &  name,
T &&  value 
)
inline

◆ set_router_info()

void routing_guidelines::rpn::Context::set_router_info ( const routing_guidelines::Router_info router_info)
inline

◆ set_server_info()

void routing_guidelines::rpn::Context::set_server_info ( const routing_guidelines::Server_info server_info)
inline

◆ set_session_info()

void routing_guidelines::rpn::Context::set_session_info ( const routing_guidelines::Session_info session_info)
inline

◆ set_sql_info()

void routing_guidelines::rpn::Context::set_sql_info ( const routing_guidelines::Sql_info sql_info)
inline

◆ start_parse_mode()

std::unique_ptr< bool, std::function< void(bool *)> > routing_guidelines::rpn::Context::start_parse_mode ( )
inlineprivate

Friends And Related Function Documentation

◆ routing_guidelines::Rules_parser

friend class routing_guidelines::Rules_parser
friend

Member Data Documentation

◆ context_

std::map<std::string, int, std::less<> > routing_guidelines::rpn::Context::context_
private

◆ context_vars_

std::vector<std::function<Token()> > routing_guidelines::rpn::Context::context_vars_
private

◆ extended_session_info_

bool routing_guidelines::rpn::Context::extended_session_info_ {false}
private

◆ parse_mode_

bool routing_guidelines::rpn::Context::parse_mode_ {false}
private

◆ router_

const routing_guidelines::Router_info* routing_guidelines::rpn::Context::router_ {nullptr}
private

◆ server_

const routing_guidelines::Server_info* routing_guidelines::rpn::Context::server_ = nullptr
private

◆ session_

const routing_guidelines::Session_info* routing_guidelines::rpn::Context::session_ = nullptr
private

◆ sql_

const routing_guidelines::Sql_info* routing_guidelines::rpn::Context::sql_ = nullptr
private

The documentation for this class was generated from the following files: