Classes | Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
exprtk::parser< T > Class Template Reference

#include <exprtk.hpp>

List of all members.

Classes

class  expression_generator
struct  parse_special_function_impl
struct  range_pack
struct  scoped_delete
struct  scoped_deq_delete
struct  scoped_vec_delete
struct  state_t
struct  unknown_symbol_resolver

Public Types

enum  precompilation_step {
  e_unknown = 0, e_replacer = 1, e_joiner = 2, e_numeric_check = 4,
  e_bracket_check = 8, e_sequence_check = 16, e_commutative_check = 32, e_strength_reduction = 64
}

Public Member Functions

bool bracket_check_enabled () const
bool & cache_symbols ()
bool commutative_check_enabled () const
bool compile (const std::string &expression_string, expression< T > &expr)
void disable_unknown_symbol_resolver ()
void enable_unknown_symbol_resolver (unknown_symbol_resolver *usr=reinterpret_cast< unknown_symbol_resolver * >(0))
std::string error () const
std::size_t error_count () const
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t expression_symbols (Sequence< std::string, Allocator > &symbols_list)
parser_error::type get_error (const std::size_t &index)
void init_precompilation ()
bool joiner_enabled () const
bool numeric_check_enabled () const
 parser (const std::size_t compile_options=compile_all_opts)
void process_lexer_errors ()
bool remove_replace_symbol (const std::string &symbol)
bool replace_symbol (const std::string &old_symbol, const std::string &new_symbol)
bool replacer_enabled () const
bool run_assemblies ()
bool sequence_check_enabled () const
bool strength_reduction_enabled () const
 ~parser ()

Static Public Attributes

static const std::size_t compile_all_opts

Private Types

typedef
details::assignment_node< T
assignment_node_t
typedef
details::assignment_vec_node
< T
assignment_vec_node_t
typedef std::multimap
< std::string,
details::base_operation_t,
details::ilesscompare
base_ops_map_t
typedef functor_t::bfunc_t binary_functor_t
typedef details::binary_node< Tbinary_node_t
typedef std::map
< details::operator_type,
binary_functor_t
binary_op_map_t
typedef
details::T0oT1oT2_define< T,
const_t, const_t, cref_t
cocov_t
typedef
details::conditional_node< T
conditional_node_t
typedef
details::cons_conditional_node
< T
cons_conditional_node_t
typedef
details::const_string_range_node
< T, range_pack
const_string_range_node_t
typedef const T const_t
typedef details::T0oT1_define
< T, const_t, cref_t
cov_t
typedef
details::T0oT1oT2_define< T,
const_t, cref_t, const_t
covoc_t
typedef
details::T0oT1oT2oT3_define< T,
const_t, cref_t, const_t,
cref_t
covocov_t
typedef
details::T0oT1oT2_define< T,
const_t, cref_t, cref_t
covov_t
typedef
details::T0oT1oT2oT3_define< T,
const_t, cref_t, cref_t,
const_t
covovoc_t
typedef
details::T0oT1oT2oT3_define< T,
const_t, cref_t, cref_t,
cref_t
covovov_t
typedef const Tcref_t
typedef expression_node_texpression_node_ptr
typedef
details::expression_node< T
expression_node_t
typedef ifunction< TF
typedef
details::for_loop_bc_node< T
for_loop_bc_node_t
typedef details::for_loop_node< Tfor_loop_node_t
typedef details::functor_t< Tfunctor_t
typedef ifunction< Tifunction_t
typedef std::map
< binary_functor_t,
details::operator_type
inv_binary_op_map_t
typedef ivararg_function< Tivararg_function_t
typedef details::literal_node< Tliteral_node_t
enum  precedence_level {
  e_level00, e_level01, e_level02, e_level03,
  e_level04, e_level05, e_level06, e_level07,
  e_level08, e_level09, e_level10, e_level11,
  e_level12, e_level13, e_level14
}
typedef functor_t::qfunc_t quaternary_functor_t
typedef
details::quaternary_node< T
quaternary_node_t
typedef details::quinary_node< Tquinary_node_t
typedef
details::repeat_until_loop_bc_node
< T
repeat_until_loop_bc_node_t
typedef
details::repeat_until_loop_node
< T
repeat_until_loop_node_t
typedef details::scand_node< Tscand_node_t
typedef details::scor_node< Tscor_node_t
typedef details::senary_node< Tsenary_node_t
typedef std::map< std::string,
std::pair< trinary_functor_t,
details::operator_type > > 
sf3_map_t
typedef std::map< std::string,
std::pair
< quaternary_functor_t,
details::operator_type > > 
sf4_map_t
typedef
details::string_literal_node
< T
string_literal_node_t
typedef
details::string_range_node< T,
range_pack
string_range_node_t
typedef
details::stringvar_node< T
stringvar_node_t
typedef details::switch_node< Tswitch_node_t
typedef symbol_table< Tsymbol_table_t
typedef lexer::token token_t
typedef functor_t::tfunc_t trinary_functor_t
typedef details::trinary_node< Ttrinary_node_t
typedef std::map
< details::operator_type,
trinary_functor_t
trinary_op_map_t
typedef functor_t::ufunc_t unary_functor_t
typedef details::unary_node< Tunary_node_t
typedef std::map
< details::operator_type,
unary_functor_t
unary_op_map_t
typedef ivararg_function< TVAF
typedef details::variable_node< Tvariable_node_t
typedef details::vector_node< Tvector_node_t
typedef details::T0oT1_define
< T, cref_t, const_t
voc_t
typedef
details::T0oT1oT2_define< T,
cref_t, const_t, const_t
vococ_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, const_t, const_t,
cref_t
vococov_t
typedef
details::T0oT1oT2_define< T,
cref_t, const_t, cref_t
vocov_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, const_t, cref_t,
const_t
vocovoc_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, const_t, cref_t,
cref_t
vocovov_t
typedef details::T0oT1_define
< T, cref_t, cref_t
vov_t
typedef
details::T0oT1oT2_define< T,
cref_t, cref_t, const_t
vovoc_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, cref_t, const_t,
cref_t
vovocov_t
typedef
details::T0oT1oT2_define< T,
cref_t, cref_t, cref_t
vovov_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, cref_t, cref_t,
const_t
vovovoc_t
typedef
details::T0oT1oT2oT3_define< T,
cref_t, cref_t, cref_t, cref_t
vovovov_t
typedef
details::while_loop_bc_node< T
while_loop_bc_node_t
typedef
details::while_loop_node< T
while_loop_node_t

Private Member Functions

void cache_symbol (const std::string &symbol)
void clear_local_vars ()
const lexer::tokencurrent_token () const
void load_binary_operations_map (binary_op_map_t &m)
void load_inv_binary_operations_map (inv_binary_op_map_t &m)
void load_sf3_map (sf3_map_t &sf3_map)
void load_sf4_map (sf4_map_t &sf4_map)
void load_unary_operations_map (unary_op_map_t &m)
void next_token ()
parser< T > & operator= (const parser< T > &)
expression_node_ptr parse_base_operation ()
expression_node_ptr parse_branch (precedence_level precedence=e_level00)
expression_node_ptr parse_break_statement ()
expression_node_ptr parse_conditional_statement ()
expression_node_ptr parse_conditional_statement_01 (expression_node_ptr condition)
expression_node_ptr parse_conditional_statement_02 (expression_node_ptr condition)
expression_node_ptr parse_const_string ()
expression_node_ptr parse_continue_statement ()
expression_node_ptr parse_corpus ()
expression_node_ptr parse_expression (precedence_level precedence=e_level00)
expression_node_ptr parse_for_loop ()
template<std::size_t NumberofParameters>
expression_node_ptr parse_function_call (const details::operator_type &opt_type, bool &internal_error)
template<std::size_t NumberofParameters>
expression_node_ptr parse_function_call (ifunction< T > *function, const std::string &function_name)
expression_node_ptr parse_function_call_0 (ifunction< T > *function, const std::string &function_name)
expression_node_ptr parse_multi_sequence (const std::string &source="")
expression_node_ptr parse_multi_switch_statement ()
expression_node_ptr parse_null_statement ()
bool parse_range (range_pack &rp)
expression_node_ptr parse_repeat_until_loop ()
expression_node_ptr parse_special_function ()
expression_node_ptr parse_string ()
expression_node_ptr parse_switch_statement ()
expression_node_ptr parse_symbol ()
expression_node_ptr parse_symtab_symbol ()
expression_node_ptr parse_ternary_conditional_statement (expression_node_ptr condition)
expression_node_ptr parse_vararg_function ()
expression_node_ptr parse_vararg_function_call (ivararg_function< T > *vararg_function, const std::string &vararg_function_name)
expression_node_ptr parse_vector ()
expression_node_ptr parse_while_loop ()
 parser (const parser< T > &)
bool peek_token_is (const typename token_t::token_type &ttype)
void register_local_var (expression_node_ptr var)
void register_local_vars (expression< T > &e)
void remove_last_error ()
void restore_token ()
void set_error (const parser_error::type &error_type)
void set_synthesis_error (const std::string &synthesis_error_message)
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr simplify (Sequence< expression_node_ptr, Allocator > &expression_list)
void store_token ()
bool token_is (const typename token_t::token_type &ttype, const bool advance_token=true)
bool valid_base_operation (const std::string &symbol)
bool valid_vararg_operation (const std::string &symbol)

Static Private Member Functions

static expression_node_ptr error_node ()

Private Attributes

base_ops_map_t base_ops_map_
binary_op_map_t binary_op_map_
lexer::helper::bracket_checker bracket_checker_
std::deque< bool > brkcnt_list_
lexer::helper::commutative_inserter commutative_inserter_
std::size_t compile_options_
lexer::token current_token_
unknown_symbol_resolver default_usr_
std::deque< parser_error::typeerror_list_
expression_generator< Texpression_generator_
lexer::helper::helper_assembly helper_assembly_
inv_binary_op_map_t inv_binary_op_map_
lexer::generator lexer_
symbol_table_t local_symbol_table_
std::set< expression_node_ptrlocal_var_set_
details::node_allocator node_allocator_
lexer::helper::numeric_checker numeric_checker_
lexer::helper::operator_joiner operator_joiner_2_
lexer::helper::operator_joiner operator_joiner_3_
bool resolve_unknown_symbol_
lexer::helper::sequence_validator sequence_validator_
sf3_map_t sf3_map_
sf4_map_t sf4_map_
lexer::token store_current_token_
std::deque< std::string > symbol_name_cache_
bool symbol_name_caching_
lexer::helper::symbol_replacer symbol_replacer_
symbol_table_t symbol_table_
std::string synthesis_error_
unary_op_map_t unary_op_map_
unknown_symbol_resolverunknown_symbol_resolver_

Static Private Attributes

static const precedence_level default_precedence = e_level00

Detailed Description

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

Definition at line 10935 of file exprtk.hpp.


Member Typedef Documentation

template<typename T>
typedef details::assignment_node<T> exprtk::parser< T >::assignment_node_t [private]

Definition at line 10994 of file exprtk.hpp.

template<typename T>
typedef details::assignment_vec_node<T> exprtk::parser< T >::assignment_vec_node_t [private]

Definition at line 10995 of file exprtk.hpp.

template<typename T>
typedef std::multimap<std::string,details::base_operation_t,details::ilesscompare> exprtk::parser< T >::base_ops_map_t [private]

Definition at line 11013 of file exprtk.hpp.

template<typename T>
typedef functor_t::bfunc_t exprtk::parser< T >::binary_functor_t [private]

Definition at line 11005 of file exprtk.hpp.

template<typename T>
typedef details::binary_node<T> exprtk::parser< T >::binary_node_t [private]

Definition at line 10970 of file exprtk.hpp.

template<typename T>
typedef std::map<details::operator_type,binary_functor_t> exprtk::parser< T >::binary_op_map_t [private]

Definition at line 11008 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T,const_t,const_t, cref_t> exprtk::parser< T >::cocov_t [private]

Definition at line 11024 of file exprtk.hpp.

template<typename T>
typedef details::conditional_node<T> exprtk::parser< T >::conditional_node_t [private]

Definition at line 10975 of file exprtk.hpp.

template<typename T>
typedef details::cons_conditional_node<T> exprtk::parser< T >::cons_conditional_node_t [private]

Definition at line 10976 of file exprtk.hpp.

Definition at line 10992 of file exprtk.hpp.

template<typename T>
typedef const T exprtk::parser< T >::const_t [private]

Definition at line 10962 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1_define<T,const_t, cref_t> exprtk::parser< T >::cov_t [private]

Definition at line 11016 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T,const_t, cref_t,const_t> exprtk::parser< T >::covoc_t [private]

Definition at line 11023 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T,const_t, cref_t,const_t, cref_t> exprtk::parser< T >::covocov_t [private]

Definition at line 11033 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T,const_t, cref_t, cref_t> exprtk::parser< T >::covov_t [private]

Definition at line 11022 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T,const_t, cref_t, cref_t,const_t> exprtk::parser< T >::covovoc_t [private]

Definition at line 11035 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T,const_t, cref_t, cref_t, cref_t> exprtk::parser< T >::covovov_t [private]

Definition at line 11031 of file exprtk.hpp.

template<typename T>
typedef const T& exprtk::parser< T >::cref_t [private]

Definition at line 10959 of file exprtk.hpp.

template<typename T>
typedef expression_node_t* exprtk::parser< T >::expression_node_ptr [private]

Definition at line 10999 of file exprtk.hpp.

template<typename T>
typedef details::expression_node<T> exprtk::parser< T >::expression_node_t [private]

Definition at line 10967 of file exprtk.hpp.

template<typename T>
typedef ifunction<T> exprtk::parser< T >::F [private]

Definition at line 10963 of file exprtk.hpp.

template<typename T>
typedef details::for_loop_bc_node<T> exprtk::parser< T >::for_loop_bc_node_t [private]

Definition at line 10983 of file exprtk.hpp.

template<typename T>
typedef details::for_loop_node<T> exprtk::parser< T >::for_loop_node_t [private]

Definition at line 10979 of file exprtk.hpp.

template<typename T>
typedef details::functor_t<T> exprtk::parser< T >::functor_t [private]

Definition at line 11002 of file exprtk.hpp.

template<typename T>
typedef ifunction<T> exprtk::parser< T >::ifunction_t [private]

Definition at line 10965 of file exprtk.hpp.

template<typename T>
typedef std::map<binary_functor_t,details::operator_type> exprtk::parser< T >::inv_binary_op_map_t [private]

Definition at line 11012 of file exprtk.hpp.

template<typename T>
typedef ivararg_function<T> exprtk::parser< T >::ivararg_function_t [private]

Definition at line 10966 of file exprtk.hpp.

template<typename T>
typedef details::literal_node<T> exprtk::parser< T >::literal_node_t [private]

Definition at line 10968 of file exprtk.hpp.

template<typename T>
typedef functor_t::qfunc_t exprtk::parser< T >::quaternary_functor_t [private]

Definition at line 11003 of file exprtk.hpp.

template<typename T>
typedef details::quaternary_node<T> exprtk::parser< T >::quaternary_node_t [private]

Definition at line 10972 of file exprtk.hpp.

template<typename T>
typedef details::quinary_node<T> exprtk::parser< T >::quinary_node_t [private]

Definition at line 10973 of file exprtk.hpp.

Definition at line 10982 of file exprtk.hpp.

template<typename T>
typedef details::repeat_until_loop_node<T> exprtk::parser< T >::repeat_until_loop_node_t [private]

Definition at line 10978 of file exprtk.hpp.

template<typename T>
typedef details::scand_node<T> exprtk::parser< T >::scand_node_t [private]

Definition at line 10996 of file exprtk.hpp.

template<typename T>
typedef details::scor_node<T> exprtk::parser< T >::scor_node_t [private]

Definition at line 10997 of file exprtk.hpp.

template<typename T>
typedef details::senary_node<T> exprtk::parser< T >::senary_node_t [private]

Definition at line 10974 of file exprtk.hpp.

template<typename T>
typedef std::map<std::string,std::pair<trinary_functor_t,details::operator_type> > exprtk::parser< T >::sf3_map_t [private]

Definition at line 11010 of file exprtk.hpp.

template<typename T>
typedef std::map<std::string,std::pair<quaternary_functor_t,details::operator_type> > exprtk::parser< T >::sf4_map_t [private]

Definition at line 11011 of file exprtk.hpp.

template<typename T>
typedef details::string_literal_node<T> exprtk::parser< T >::string_literal_node_t [private]

Definition at line 10990 of file exprtk.hpp.

template<typename T>
typedef details::string_range_node<T,range_pack> exprtk::parser< T >::string_range_node_t [private]

Definition at line 10991 of file exprtk.hpp.

template<typename T>
typedef details::stringvar_node<T> exprtk::parser< T >::stringvar_node_t [private]

Definition at line 10989 of file exprtk.hpp.

template<typename T>
typedef details::switch_node<T> exprtk::parser< T >::switch_node_t [private]

Definition at line 10985 of file exprtk.hpp.

template<typename T>
typedef symbol_table<T> exprtk::parser< T >::symbol_table_t [private]

Definition at line 11000 of file exprtk.hpp.

template<typename T>
typedef lexer::token exprtk::parser< T >::token_t [private]

Definition at line 10998 of file exprtk.hpp.

template<typename T>
typedef functor_t::tfunc_t exprtk::parser< T >::trinary_functor_t [private]

Definition at line 11004 of file exprtk.hpp.

template<typename T>
typedef details::trinary_node<T> exprtk::parser< T >::trinary_node_t [private]

Definition at line 10971 of file exprtk.hpp.

template<typename T>
typedef std::map<details::operator_type,trinary_functor_t> exprtk::parser< T >::trinary_op_map_t [private]

Definition at line 11009 of file exprtk.hpp.

template<typename T>
typedef functor_t::ufunc_t exprtk::parser< T >::unary_functor_t [private]

Definition at line 11006 of file exprtk.hpp.

template<typename T>
typedef details::unary_node<T> exprtk::parser< T >::unary_node_t [private]

Definition at line 10969 of file exprtk.hpp.

template<typename T>
typedef std::map<details::operator_type,unary_functor_t> exprtk::parser< T >::unary_op_map_t [private]

Definition at line 11007 of file exprtk.hpp.

template<typename T>
typedef ivararg_function<T> exprtk::parser< T >::VAF [private]

Definition at line 10964 of file exprtk.hpp.

template<typename T>
typedef details::variable_node<T> exprtk::parser< T >::variable_node_t [private]

Definition at line 10986 of file exprtk.hpp.

template<typename T>
typedef details::vector_node<T> exprtk::parser< T >::vector_node_t [private]

Definition at line 10987 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1_define<T, cref_t,const_t> exprtk::parser< T >::voc_t [private]

Definition at line 11017 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T,cref_t,const_t, const_t> exprtk::parser< T >::vococ_t [private]

Definition at line 11025 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t,const_t,const_t, cref_t> exprtk::parser< T >::vococov_t [private]

Definition at line 11036 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T, cref_t,const_t, cref_t> exprtk::parser< T >::vocov_t [private]

Definition at line 11021 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t,const_t, cref_t,const_t> exprtk::parser< T >::vocovoc_t [private]

Definition at line 11034 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t,const_t, cref_t, cref_t> exprtk::parser< T >::vocovov_t [private]

Definition at line 11030 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1_define<T, cref_t, cref_t> exprtk::parser< T >::vov_t [private]

Definition at line 11015 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T, cref_t, cref_t,const_t> exprtk::parser< T >::vovoc_t [private]

Definition at line 11020 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t, cref_t,const_t, cref_t> exprtk::parser< T >::vovocov_t [private]

Definition at line 11029 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2_define<T, cref_t, cref_t, cref_t> exprtk::parser< T >::vovov_t [private]

Definition at line 11019 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t, cref_t, cref_t,const_t> exprtk::parser< T >::vovovoc_t [private]

Definition at line 11028 of file exprtk.hpp.

template<typename T>
typedef details::T0oT1oT2oT3_define<T, cref_t, cref_t, cref_t, cref_t> exprtk::parser< T >::vovovov_t [private]

Definition at line 11027 of file exprtk.hpp.

template<typename T>
typedef details::while_loop_bc_node<T> exprtk::parser< T >::while_loop_bc_node_t [private]

Definition at line 10981 of file exprtk.hpp.

template<typename T>
typedef details::while_loop_node<T> exprtk::parser< T >::while_loop_node_t [private]

Definition at line 10977 of file exprtk.hpp.


Member Enumeration Documentation

template<typename T>
enum exprtk::parser::precedence_level [private]
Enumerator:
e_level00 
e_level01 
e_level02 
e_level03 
e_level04 
e_level05 
e_level06 
e_level07 
e_level08 
e_level09 
e_level10 
e_level11 
e_level12 
e_level13 
e_level14 

Definition at line 10939 of file exprtk.hpp.

template<typename T>
enum exprtk::parser::precompilation_step
Enumerator:
e_unknown 
e_replacer 
e_joiner 
e_numeric_check 
e_bracket_check 
e_sequence_check 
e_commutative_check 
e_strength_reduction 

Definition at line 11040 of file exprtk.hpp.


Constructor & Destructor Documentation

template<typename T>
exprtk::parser< T >::parser ( const std::size_t  compile_options = compile_all_opts) [inline]

Definition at line 11081 of file exprtk.hpp.

template<typename T>
exprtk::parser< T >::~parser ( ) [inline]

Definition at line 11106 of file exprtk.hpp.

template<typename T>
exprtk::parser< T >::parser ( const parser< T > &  ) [private]

Member Function Documentation

template<typename T>
bool exprtk::parser< T >::bracket_check_enabled ( ) const [inline]

Definition at line 11288 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::cache_symbol ( const std::string &  symbol) [inline, private]

Definition at line 13293 of file exprtk.hpp.

template<typename T>
bool& exprtk::parser< T >::cache_symbols ( ) [inline]

Definition at line 11396 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::clear_local_vars ( ) [inline, private]

Definition at line 19905 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::commutative_check_enabled ( ) const [inline]

Definition at line 11273 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::compile ( const std::string &  expression_string,
expression< T > &  expr 
) [inline]

Definition at line 11165 of file exprtk.hpp.

template<typename T>
const lexer::token& exprtk::parser< T >::current_token ( ) const [inline, private]

Definition at line 11518 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::disable_unknown_symbol_resolver ( ) [inline]

Definition at line 11445 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::enable_unknown_symbol_resolver ( unknown_symbol_resolver usr = reinterpret_cast<unknown_symbol_resolver*>(0)) [inline]

Definition at line 11436 of file exprtk.hpp.

template<typename T>
std::string exprtk::parser< T >::error ( ) const [inline]

Definition at line 11381 of file exprtk.hpp.

template<typename T>
std::size_t exprtk::parser< T >::error_count ( ) const [inline]

Definition at line 11391 of file exprtk.hpp.

template<typename T>
static expression_node_ptr exprtk::parser< T >::error_node ( ) [inline, static, private]

Definition at line 11748 of file exprtk.hpp.

template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::parser< T >::expression_symbols ( Sequence< std::string, Allocator > &  symbols_list) [inline]

Definition at line 11403 of file exprtk.hpp.

template<typename T>
parser_error::type exprtk::parser< T >::get_error ( const std::size_t &  index) [inline]

Definition at line 11373 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::init_precompilation ( ) [inline]

Definition at line 11111 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::joiner_enabled ( ) const [inline]

Definition at line 11278 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::load_binary_operations_map ( binary_op_map_t m) [inline, private]

Definition at line 19981 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::load_inv_binary_operations_map ( inv_binary_op_map_t m) [inline, private]

Definition at line 20007 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::load_sf3_map ( sf3_map_t sf3_map) [inline, private]

Definition at line 20033 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::load_sf4_map ( sf4_map_t sf4_map) [inline, private]

Definition at line 20051 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::load_unary_operations_map ( unary_op_map_t m) [inline, private]

Definition at line 19935 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::next_token ( ) [inline, private]

Definition at line 11503 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::numeric_check_enabled ( ) const [inline]

Definition at line 11283 of file exprtk.hpp.

template<typename T>
parser<T>& exprtk::parser< T >::operator= ( const parser< T > &  ) [private]
template<typename T>
expression_node_ptr exprtk::parser< T >::parse_base_operation ( ) [inline, private]

Definition at line 11976 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_branch ( precedence_level  precedence = e_level00) [inline, private]

Definition at line 13874 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_break_statement ( ) [inline, private]

Definition at line 13572 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_conditional_statement ( ) [inline, private]

Definition at line 12205 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_conditional_statement_01 ( expression_node_ptr  condition) [inline, private]

Definition at line 12033 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_conditional_statement_02 ( expression_node_ptr  condition) [inline, private]

Definition at line 12094 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_const_string ( ) [inline, private]

Definition at line 13342 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_continue_statement ( ) [inline, private]

Definition at line 13610 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_corpus ( ) [inline, private]

Definition at line 11523 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_expression ( precedence_level  precedence = e_level00) [inline, private]

Definition at line 11579 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_for_loop ( ) [inline, private]

Definition at line 12501 of file exprtk.hpp.

template<typename T>
template<std::size_t NumberofParameters>
expression_node_ptr exprtk::parser< T >::parse_function_call ( const details::operator_type opt_type,
bool &  internal_error 
) [inline, private]

Definition at line 11859 of file exprtk.hpp.

template<typename T>
template<std::size_t NumberofParameters>
expression_node_ptr exprtk::parser< T >::parse_function_call ( ifunction< T > *  function,
const std::string &  function_name 
) [inline, private]

Definition at line 11902 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_function_call_0 ( ifunction< T > *  function,
const std::string &  function_name 
) [inline, private]

Definition at line 11957 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_multi_sequence ( const std::string &  source = "") [inline, private]

Definition at line 12993 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_multi_switch_statement ( ) [inline, private]

Definition at line 12790 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_null_statement ( ) [inline, private]

Definition at line 13565 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::parse_range ( range_pack rp) [inline, private]

Definition at line 13146 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_repeat_until_loop ( ) [inline, private]

Definition at line 12393 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_special_function ( ) [inline, private]

Definition at line 13527 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_string ( ) [inline, private]

Definition at line 13301 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_switch_statement ( ) [inline, private]

Definition at line 12662 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_symbol ( ) [inline, private]

Definition at line 13803 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_symtab_symbol ( ) [inline, private]

Definition at line 13629 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_ternary_conditional_statement ( expression_node_ptr  condition) [inline, private]

Definition at line 12261 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_vararg_function ( ) [inline, private]

Definition at line 12893 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_vararg_function_call ( ivararg_function< T > *  vararg_function,
const std::string &  vararg_function_name 
) [inline, private]

Definition at line 13429 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_vector ( ) [inline, private]

Definition at line 13390 of file exprtk.hpp.

template<typename T>
expression_node_ptr exprtk::parser< T >::parse_while_loop ( ) [inline, private]

Definition at line 12321 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::peek_token_is ( const typename token_t::token_type ttype) [inline, private]

Definition at line 14007 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::process_lexer_errors ( ) [inline]

Definition at line 11233 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::register_local_var ( expression_node_ptr  var) [inline, private]

Definition at line 19900 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::register_local_vars ( expression< T > &  e) [inline, private]

Definition at line 19920 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::remove_last_error ( ) [inline, private]

Definition at line 19884 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::remove_replace_symbol ( const std::string &  symbol) [inline]

Definition at line 11426 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::replace_symbol ( const std::string &  old_symbol,
const std::string &  new_symbol 
) [inline]

Definition at line 11416 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::replacer_enabled ( ) const [inline]

Definition at line 11268 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::restore_token ( ) [inline, private]

Definition at line 11496 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::run_assemblies ( ) [inline]

Definition at line 11303 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::sequence_check_enabled ( ) const [inline]

Definition at line 11293 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::set_error ( const parser_error::type error_type) [inline, private]

Definition at line 19879 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::set_synthesis_error ( const std::string &  synthesis_error_message) [inline, private]

Definition at line 19892 of file exprtk.hpp.

template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::simplify ( Sequence< expression_node_ptr, Allocator > &  expression_list) [inline, private]

Definition at line 12966 of file exprtk.hpp.

template<typename T>
void exprtk::parser< T >::store_token ( ) [inline, private]

Definition at line 11490 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::strength_reduction_enabled ( ) const [inline]

Definition at line 11298 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::token_is ( const typename token_t::token_type ttype,
const bool  advance_token = true 
) [inline, private]

Definition at line 13992 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::valid_base_operation ( const std::string &  symbol) [inline, private]

Definition at line 11453 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::valid_vararg_operation ( const std::string &  symbol) [inline, private]

Definition at line 11465 of file exprtk.hpp.


Member Data Documentation

template<typename T>
base_ops_map_t exprtk::parser< T >::base_ops_map_ [private]

Definition at line 20108 of file exprtk.hpp.

template<typename T>
binary_op_map_t exprtk::parser< T >::binary_op_map_ [private]

Definition at line 20110 of file exprtk.hpp.

Definition at line 20122 of file exprtk.hpp.

template<typename T>
std::deque<bool> exprtk::parser< T >::brkcnt_list_ [private]

Definition at line 20104 of file exprtk.hpp.

Definition at line 20118 of file exprtk.hpp.

template<typename T>
const std::size_t exprtk::parser< T >::compile_all_opts [static]
template<typename T>
std::size_t exprtk::parser< T >::compile_options_ [private]

Definition at line 20100 of file exprtk.hpp.

template<typename T>
lexer::token exprtk::parser< T >::current_token_ [private]

Definition at line 20093 of file exprtk.hpp.

template<typename T>
const precedence_level exprtk::parser< T >::default_precedence = e_level00 [static, private]

Definition at line 11555 of file exprtk.hpp.

template<typename T>
unknown_symbol_resolver exprtk::parser< T >::default_usr_ [private]

Definition at line 20107 of file exprtk.hpp.

template<typename T>
std::deque<parser_error::type> exprtk::parser< T >::error_list_ [private]

Definition at line 20103 of file exprtk.hpp.

template<typename T>
expression_generator<T> exprtk::parser< T >::expression_generator_ [private]

Definition at line 20095 of file exprtk.hpp.

Definition at line 20116 of file exprtk.hpp.

template<typename T>
inv_binary_op_map_t exprtk::parser< T >::inv_binary_op_map_ [private]

Definition at line 20111 of file exprtk.hpp.

template<typename T>
lexer::generator exprtk::parser< T >::lexer_ [private]

Definition at line 20092 of file exprtk.hpp.

template<typename T>
symbol_table_t exprtk::parser< T >::local_symbol_table_ [private]

Definition at line 20098 of file exprtk.hpp.

template<typename T>
std::set<expression_node_ptr> exprtk::parser< T >::local_var_set_ [private]

Definition at line 20101 of file exprtk.hpp.

template<typename T>
details::node_allocator exprtk::parser< T >::node_allocator_ [private]

Definition at line 20096 of file exprtk.hpp.

Definition at line 20123 of file exprtk.hpp.

Definition at line 20119 of file exprtk.hpp.

Definition at line 20120 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::resolve_unknown_symbol_ [private]

Definition at line 20105 of file exprtk.hpp.

Definition at line 20124 of file exprtk.hpp.

template<typename T>
sf3_map_t exprtk::parser< T >::sf3_map_ [private]

Definition at line 20112 of file exprtk.hpp.

template<typename T>
sf4_map_t exprtk::parser< T >::sf4_map_ [private]

Definition at line 20113 of file exprtk.hpp.

template<typename T>
lexer::token exprtk::parser< T >::store_current_token_ [private]

Definition at line 20094 of file exprtk.hpp.

template<typename T>
std::deque<std::string> exprtk::parser< T >::symbol_name_cache_ [private]

Definition at line 20102 of file exprtk.hpp.

template<typename T>
bool exprtk::parser< T >::symbol_name_caching_ [private]

Definition at line 20099 of file exprtk.hpp.

Definition at line 20121 of file exprtk.hpp.

template<typename T>
symbol_table_t exprtk::parser< T >::symbol_table_ [private]

Definition at line 20097 of file exprtk.hpp.

template<typename T>
std::string exprtk::parser< T >::synthesis_error_ [private]

Definition at line 20114 of file exprtk.hpp.

template<typename T>
unary_op_map_t exprtk::parser< T >::unary_op_map_ [private]

Definition at line 20109 of file exprtk.hpp.

Definition at line 20106 of file exprtk.hpp.


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


labust_mission
Author(s): Filip Mandic
autogenerated on Fri Aug 28 2015 11:23:04