OpcUaCanOpen
CANopen OPC-UA server
exprtk::parser< T >::type_checker Class Reference

Classes

struct  function_prototype_t
 

Public Types

enum  return_type_t { e_overload = ' ', e_numeric = 'T', e_string = 'S' }
 
typedef parser< T > parser_t
 
typedef std::vector< function_prototype_tfunction_definition_list_t
 

Public Member Functions

 type_checker (parser_t &p, const std::string &func_name, const std::string &func_prototypes, const return_type_t default_return_type)
 
void set_default_return_type (const std::string &return_type)
 
bool verify (const std::string &param_seq, std::size_t &pseq_index)
 
std::size_t paramseq_count () const
 
std::string paramseq (const std::size_t &index) const
 
return_type_t return_type (const std::size_t &index) const
 
bool invalid () const
 
bool allow_zero_parameters () const
 

Private Member Functions

std::vector< std::string > split_param_seq (const std::string &param_seq, const details::char_t delimiter='|') const
 
bool is_valid_token (std::string param_seq, function_prototype_t &funcproto) const
 
void parse_function_prototypes (const std::string &func_prototypes)
 
 type_checker (const type_checker &)
 
type_checkeroperator= (const type_checker &)
 

Private Attributes

bool invalid_state_
 
parser_tparser_
 
std::string function_name_
 
const return_type_t default_return_type_
 
function_definition_list_t function_definition_list_
 

Detailed Description

template<typename T>
class exprtk::parser< T >::type_checker

Definition at line 23360 of file exprtk.hpp.

Member Typedef Documentation

◆ function_definition_list_t

template<typename T>
typedef std::vector<function_prototype_t> exprtk::parser< T >::type_checker::function_definition_list_t

Definition at line 23378 of file exprtk.hpp.

◆ parser_t

template<typename T>
typedef parser<T> exprtk::parser< T >::type_checker::parser_t

Definition at line 23377 of file exprtk.hpp.

Member Enumeration Documentation

◆ return_type_t

Enumerator
e_overload 
e_numeric 
e_string 

Definition at line 23364 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ type_checker() [1/2]

template<typename T>
exprtk::parser< T >::type_checker::type_checker ( parser_t p,
const std::string &  func_name,
const std::string &  func_prototypes,
const return_type_t  default_return_type 
)
inline

Definition at line 23380 of file exprtk.hpp.

◆ type_checker() [2/2]

template<typename T>
exprtk::parser< T >::type_checker::type_checker ( const type_checker )
private

Member Function Documentation

◆ allow_zero_parameters()

template<typename T>
bool exprtk::parser< T >::type_checker::allow_zero_parameters ( ) const
inline

Definition at line 23479 of file exprtk.hpp.

◆ invalid()

template<typename T>
bool exprtk::parser< T >::type_checker::invalid ( ) const
inline

Definition at line 23474 of file exprtk.hpp.

◆ is_valid_token()

template<typename T>
bool exprtk::parser< T >::type_checker::is_valid_token ( std::string  param_seq,
function_prototype_t funcproto 
) const
inlineprivate

Definition at line 23522 of file exprtk.hpp.

◆ operator=()

template<typename T>
type_checker& exprtk::parser< T >::type_checker::operator= ( const type_checker )
private

◆ paramseq()

template<typename T>
std::string exprtk::parser< T >::type_checker::paramseq ( const std::size_t &  index) const
inline

Definition at line 23464 of file exprtk.hpp.

◆ paramseq_count()

template<typename T>
std::size_t exprtk::parser< T >::type_checker::paramseq_count ( ) const
inline

Definition at line 23459 of file exprtk.hpp.

◆ parse_function_prototypes()

template<typename T>
void exprtk::parser< T >::type_checker::parse_function_prototypes ( const std::string &  func_prototypes)
inlineprivate

Definition at line 23571 of file exprtk.hpp.

◆ return_type()

template<typename T>
return_type_t exprtk::parser< T >::type_checker::return_type ( const std::size_t &  index) const
inline

Definition at line 23469 of file exprtk.hpp.

◆ set_default_return_type()

template<typename T>
void exprtk::parser< T >::type_checker::set_default_return_type ( const std::string &  return_type)
inline

Definition at line 23392 of file exprtk.hpp.

◆ split_param_seq()

template<typename T>
std::vector<std::string> exprtk::parser< T >::type_checker::split_param_seq ( const std::string &  param_seq,
const details::char_t  delimiter = '|' 
) const
inlineprivate

Definition at line 23495 of file exprtk.hpp.

◆ verify()

template<typename T>
bool exprtk::parser< T >::type_checker::verify ( const std::string &  param_seq,
std::size_t &  pseq_index 
)
inline

Definition at line 23397 of file exprtk.hpp.

Member Data Documentation

◆ default_return_type_

template<typename T>
const return_type_t exprtk::parser< T >::type_checker::default_return_type_
private

Definition at line 23627 of file exprtk.hpp.

◆ function_definition_list_

template<typename T>
function_definition_list_t exprtk::parser< T >::type_checker::function_definition_list_
private

Definition at line 23628 of file exprtk.hpp.

◆ function_name_

template<typename T>
std::string exprtk::parser< T >::type_checker::function_name_
private

Definition at line 23626 of file exprtk.hpp.

◆ invalid_state_

template<typename T>
bool exprtk::parser< T >::type_checker::invalid_state_
private

Definition at line 23624 of file exprtk.hpp.

◆ parser_

template<typename T>
parser_t& exprtk::parser< T >::type_checker::parser_
private

Definition at line 23625 of file exprtk.hpp.


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