PulseView  unreleased development snapshot
A Qt-based sigrok GUI
exprtk::parser< T >::type_checker Class Reference
Collaboration diagram for exprtk::parser< T >::type_checker:

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 23433 of file exprtk.hpp.


Class Documentation

struct exprtk::parser::type_checker::function_prototype_t

template<typename T>
struct exprtk::parser< T >::type_checker::function_prototype_t

Definition at line 23444 of file exprtk.hpp.

Collaboration diagram for exprtk::parser< T >::type_checker::function_prototype_t:
Class Members
string param_seq
return_type_t return_type

Member Typedef Documentation

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

Definition at line 23451 of file exprtk.hpp.

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

Definition at line 23450 of file exprtk.hpp.

Member Enumeration Documentation

Enumerator
e_overload 
e_numeric 
e_string 

Definition at line 23437 of file exprtk.hpp.

Constructor & Destructor Documentation

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 23453 of file exprtk.hpp.

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

Member Function Documentation

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

Definition at line 23552 of file exprtk.hpp.

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

Definition at line 23547 of file exprtk.hpp.

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 23594 of file exprtk.hpp.

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

Definition at line 23537 of file exprtk.hpp.

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

Definition at line 23532 of file exprtk.hpp.

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

Definition at line 23643 of file exprtk.hpp.

Here is the call graph for this function:

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

Definition at line 23542 of file exprtk.hpp.

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

Definition at line 23465 of file exprtk.hpp.

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 23568 of file exprtk.hpp.

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

Definition at line 23470 of file exprtk.hpp.

Here is the call graph for this function:

Member Data Documentation

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

Definition at line 23699 of file exprtk.hpp.

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

Definition at line 23700 of file exprtk.hpp.

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

Definition at line 23698 of file exprtk.hpp.

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

Definition at line 23696 of file exprtk.hpp.

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

Definition at line 23697 of file exprtk.hpp.


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