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

Classes

struct  switch_nodes
 
struct  synthesize_binary_ext_expression
 
struct  synthesize_boc_expression
 
struct  synthesize_bov_expression
 
struct  synthesize_cob_expression
 
struct  synthesize_coboc_expression
 
struct  synthesize_cocob_expression
 
struct  synthesize_cocov_expression0
 
struct  synthesize_cocov_expression1
 
struct  synthesize_cov_expression
 
struct  synthesize_covoc_expression0
 
struct  synthesize_covoc_expression1
 
struct  synthesize_covocov_expression0
 
struct  synthesize_covocov_expression1
 
struct  synthesize_covocov_expression2
 
struct  synthesize_covocov_expression3
 
struct  synthesize_covocov_expression4
 
struct  synthesize_covov_expression0
 
struct  synthesize_covov_expression1
 
struct  synthesize_covovoc_expression0
 
struct  synthesize_covovoc_expression1
 
struct  synthesize_covovoc_expression2
 
struct  synthesize_covovoc_expression3
 
struct  synthesize_covovoc_expression4
 
struct  synthesize_covovov_expression0
 
struct  synthesize_covovov_expression1
 
struct  synthesize_covovov_expression2
 
struct  synthesize_covovov_expression3
 
struct  synthesize_covovov_expression4
 
struct  synthesize_sf3ext_expression
 
struct  synthesize_sf4ext_expression
 
struct  synthesize_vob_expression
 
struct  synthesize_voc_expression
 
struct  synthesize_vococ_expression0
 
struct  synthesize_vococ_expression1
 
struct  synthesize_vococov_expression0
 
struct  synthesize_vococov_expression1
 
struct  synthesize_vococov_expression2
 
struct  synthesize_vococov_expression3
 
struct  synthesize_vococov_expression4
 
struct  synthesize_vocov_expression0
 
struct  synthesize_vocov_expression1
 
struct  synthesize_vocovoc_expression0
 
struct  synthesize_vocovoc_expression1
 
struct  synthesize_vocovoc_expression2
 
struct  synthesize_vocovoc_expression3
 
struct  synthesize_vocovoc_expression4
 
struct  synthesize_vocovov_expression0
 
struct  synthesize_vocovov_expression1
 
struct  synthesize_vocovov_expression2
 
struct  synthesize_vocovov_expression3
 
struct  synthesize_vocovov_expression4
 
struct  synthesize_vov_expression
 
struct  synthesize_vovoc_expression0
 
struct  synthesize_vovoc_expression1
 
struct  synthesize_vovocov_expression0
 
struct  synthesize_vovocov_expression1
 
struct  synthesize_vovocov_expression2
 
struct  synthesize_vovocov_expression3
 
struct  synthesize_vovocov_expression4
 
struct  synthesize_vovov_expression0
 
struct  synthesize_vovov_expression1
 
struct  synthesize_vovovoc_expression0
 
struct  synthesize_vovovoc_expression1
 
struct  synthesize_vovovoc_expression2
 
struct  synthesize_vovovoc_expression3
 
struct  synthesize_vovovoc_expression4
 
struct  synthesize_vovovov_expression0
 
struct  synthesize_vovovov_expression1
 
struct  synthesize_vovovov_expression2
 
struct  synthesize_vovovov_expression3
 
struct  synthesize_vovovov_expression4
 

Public Types

typedef details::expression_node< Type > * expression_node_ptr
 
typedef expression_node_ptr(* synthesize_functor_t) (expression_generator< T > &, const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
typedef std::map< std::string, synthesize_functor_tsynthesize_map_t
 
typedef exprtk::parser< Type > parser_t
 
typedef const Type & vtype
 
typedef const Type ctype
 

Public Member Functions

void init_synthesize_map ()
 
void set_parser (parser_t &p)
 
void set_uom (unary_op_map_t &unary_op_map)
 
void set_bom (binary_op_map_t &binary_op_map)
 
void set_ibom (inv_binary_op_map_t &inv_binary_op_map)
 
void set_sf3m (sf3_map_t &sf3_map)
 
void set_sf4m (sf4_map_t &sf4_map)
 
void set_allocator (details::node_allocator &na)
 
void set_strength_reduction_state (const bool enabled)
 
bool strength_reduction_enabled () const
 
bool valid_operator (const details::operator_type &operation, binary_functor_t &bop)
 
bool valid_operator (const details::operator_type &operation, unary_functor_t &uop)
 
details::operator_type get_operator (const binary_functor_t &bop) const
 
expression_node_ptr operator() (const Type &v) const
 
expression_node_ptr operator() (const std::string &s) const
 
expression_node_ptr operator() (std::string &s, range_t &rp) const
 
expression_node_ptr operator() (const std::string &s, range_t &rp) const
 
expression_node_ptr operator() (expression_node_ptr branch, range_t &rp) const
 
bool unary_optimisable (const details::operator_type &operation) const
 
bool sf3_optimisable (const std::string &sf3id, trinary_functor_t &tfunc) const
 
bool sf4_optimisable (const std::string &sf4id, quaternary_functor_t &qfunc) const
 
bool sf3_optimisable (const std::string &sf3id, details::operator_type &operation) const
 
bool sf4_optimisable (const std::string &sf4id, details::operator_type &operation) const
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr(&branch)[1])
 
bool is_assignment_operation (const details::operator_type &operation) const
 
bool valid_string_operation (const details::operator_type &operation) const
 
std::string to_str (const details::operator_type &operation) const
 
bool operation_optimisable (const details::operator_type &operation) const
 
std::string branch_to_id (expression_node_ptr branch) const
 
std::string branch_to_id (expression_node_ptr(&branch)[2]) const
 
bool cov_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool voc_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool vov_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool cob_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool boc_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool cocob_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool coboc_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool uvouv_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool vob_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool bov_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool binext_optimisable (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_invalid_assignment_op (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_constpow_operation (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_invalid_break_continue_op (expression_node_ptr(&branch)[2]) const
 
bool is_invalid_string_op (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_invalid_string_op (const details::operator_type &operation, expression_node_ptr(&branch)[3]) const
 
bool is_string_operation (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_string_operation (const details::operator_type &operation, expression_node_ptr(&branch)[3]) const
 
bool is_shortcircuit_expression (const details::operator_type &operation) const
 
bool is_null_present (expression_node_ptr(&branch)[2]) const
 
bool is_vector_eqineq_logic_operation (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
bool is_vector_arithmetic_operation (const details::operator_type &operation, expression_node_ptr(&branch)[2]) const
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr(&branch)[3])
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr(&branch)[4])
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr b0)
 
expression_node_ptr operator() (const details::operator_type &operation, expression_node_ptr &b0, expression_node_ptr &b1)
 
expression_node_ptr conditional (expression_node_ptr condition, expression_node_ptr consequent, expression_node_ptr alternative) const
 
expression_node_ptr conditional_string (expression_node_ptr condition, expression_node_ptr consequent, expression_node_ptr alternative) const
 
expression_node_ptr while_loop (expression_node_ptr &condition, expression_node_ptr &branch, const bool brkcont=false) const
 
expression_node_ptr repeat_until_loop (expression_node_ptr &condition, expression_node_ptr &branch, const bool brkcont=false) const
 
expression_node_ptr for_loop (expression_node_ptr &initialiser, expression_node_ptr &condition, expression_node_ptr &incrementor, expression_node_ptr &loop_body, bool brkcont=false) const
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr const_optimise_switch (Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr const_optimise_mswitch (Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr switch_statement (Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr multi_switch_statement (Sequence< expression_node_ptr, Allocator > &arg_list)
 
expression_node_ptr synthesize_uv_expression (const details::operator_type &operation, expression_node_ptr(&branch)[1])
 
expression_node_ptr synthesize_uvec_expression (const details::operator_type &operation, expression_node_ptr(&branch)[1])
 
expression_node_ptr synthesize_unary_expression (const details::operator_type &operation, expression_node_ptr(&branch)[1])
 
expression_node_ptr const_optimise_sf3 (const details::operator_type &operation, expression_node_ptr(&branch)[3])
 
expression_node_ptr varnode_optimise_sf3 (const details::operator_type &operation, expression_node_ptr(&branch)[3])
 
expression_node_ptr special_function (const details::operator_type &operation, expression_node_ptr(&branch)[3])
 
expression_node_ptr const_optimise_sf4 (const details::operator_type &operation, expression_node_ptr(&branch)[4])
 
expression_node_ptr varnode_optimise_sf4 (const details::operator_type &operation, expression_node_ptr(&branch)[4])
 
expression_node_ptr special_function (const details::operator_type &operation, expression_node_ptr(&branch)[4])
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr const_optimise_varargfunc (const details::operator_type &operation, Sequence< expression_node_ptr, Allocator > &arg_list)
 
bool special_one_parameter_vararg (const details::operator_type &operation) const
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr varnode_optimise_varargfunc (const details::operator_type &operation, Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr vectorize_func (const details::operator_type &operation, Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr vararg_function (const details::operator_type &operation, Sequence< expression_node_ptr, Allocator > &arg_list)
 
template<std::size_t N>
expression_node_ptr function (ifunction_t *f, expression_node_ptr(&b)[N])
 
expression_node_ptr function (ifunction_t *f)
 
expression_node_ptr vararg_function_call (ivararg_function_t *vaf, std::vector< expression_node_ptr > &arg_list)
 
expression_node_ptr generic_function_call (igeneric_function_t *gf, std::vector< expression_node_ptr > &arg_list, const std::size_t &param_seq_index=std::numeric_limits< std::size_t >::max())
 
expression_node_ptr string_function_call (igeneric_function_t *gf, std::vector< expression_node_ptr > &arg_list, const std::size_t &param_seq_index=std::numeric_limits< std::size_t >::max())
 
expression_node_ptr return_call (std::vector< expression_node_ptr > &arg_list)
 
expression_node_ptr return_envelope (expression_node_ptr body, results_context_t *rc, bool *&return_invoked)
 
expression_node_ptr vector_element (const std::string &symbol, vector_holder_ptr vector_base, expression_node_ptr index)
 

Private Member Functions

template<std::size_t N, typename NodePtr >
bool is_constant_foldable (NodePtr(&b)[N]) const
 
template<typename NodePtr , typename Allocator , template< typename, typename > class Sequence>
bool is_constant_foldable (const Sequence< NodePtr, Allocator > &b) const
 
void lodge_assignment (symbol_type cst, expression_node_ptr node)
 
expression_node_ptr synthesize_assignment_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_assignment_operation_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_veceqineqlogic_operation_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_vecarithmetic_operation_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_swap_expression (expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_shortcircuit_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
template<typename TType , template< typename, typename > class IPowNode>
expression_node_ptr cardinal_pow_optimisation_impl (const TType &v, const unsigned int &p)
 
expression_node_ptr cardinal_pow_optimisation (const T &v, const T &c)
 
bool cardinal_pow_optimisable (const details::operator_type &operation, const T &c) const
 
expression_node_ptr cardinal_pow_optimisation (expression_node_ptr(&branch)[2])
 
bool synthesize_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2], expression_node_ptr &result)
 
expression_node_ptr synthesize_uvouv_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
template<typename T0 , typename T1 >
expression_node_ptr synthesize_str_xrox_expression_impl (const details::operator_type &opr, T0 s0, T1 s1, range_t rp0)
 
template<typename T0 , typename T1 >
expression_node_ptr synthesize_str_xoxr_expression_impl (const details::operator_type &opr, T0 s0, T1 s1, range_t rp1)
 
template<typename T0 , typename T1 >
expression_node_ptr synthesize_str_xroxr_expression_impl (const details::operator_type &opr, T0 s0, T1 s1, range_t rp0, range_t rp1)
 
template<typename T0 , typename T1 >
expression_node_ptr synthesize_sos_expression_impl (const details::operator_type &opr, T0 s0, T1 s1)
 
expression_node_ptr synthesize_sos_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_sros_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_sosr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_socsr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_srosr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_socs_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csos_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csosr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_srocs_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_srocsr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csocs_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csocsr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csros_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csrosr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csrocs_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_csrocsr_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_strogen_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_string_expression (const details::operator_type &opr, expression_node_ptr(&branch)[2])
 
expression_node_ptr synthesize_string_expression (const details::operator_type &opr, expression_node_ptr(&branch)[3])
 
expression_node_ptr synthesize_null_expression (const details::operator_type &operation, expression_node_ptr(&branch)[2])
 
template<typename NodeType , std::size_t N>
expression_node_ptr synthesize_expression (const details::operator_type &operation, expression_node_ptr(&branch)[N])
 
template<typename NodeType , std::size_t N>
expression_node_ptr synthesize_expression (F *f, expression_node_ptr(&branch)[N])
 

Private Attributes

bool strength_reduction_enabled_
 
details::node_allocatornode_allocator_
 
synthesize_map_t synthesize_map_
 
unary_op_map_tunary_op_map_
 
binary_op_map_tbinary_op_map_
 
inv_binary_op_map_tinv_binary_op_map_
 
sf3_map_tsf3_map_
 
sf4_map_tsf4_map_
 
parser_tparser_
 

Detailed Description

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

Definition at line 25942 of file exprtk.hpp.


Class Documentation

struct exprtk::parser::expression_generator::switch_nodes

template<typename T>
template<typename Type>
struct exprtk::parser< T >::expression_generator< Type >::switch_nodes

Definition at line 27112 of file exprtk.hpp.

Collaboration diagram for exprtk::parser< T >::expression_generator< Type >::switch_nodes:
Class Members
typedef vector
< expression_node_ptr >
arg_list_t

Member Typedef Documentation

template<typename T>
template<typename Type>
typedef const Type exprtk::parser< T >::expression_generator< Type >::ctype

Definition at line 25951 of file exprtk.hpp.

template<typename T>
template<typename Type>
typedef details::expression_node<Type>* exprtk::parser< T >::expression_generator< Type >::expression_node_ptr

Definition at line 25946 of file exprtk.hpp.

template<typename T>
template<typename Type>
typedef exprtk::parser<Type> exprtk::parser< T >::expression_generator< Type >::parser_t

Definition at line 25949 of file exprtk.hpp.

template<typename T>
template<typename Type>
typedef expression_node_ptr(* exprtk::parser< T >::expression_generator< Type >::synthesize_functor_t) (expression_generator< T > &, const details::operator_type &operation, expression_node_ptr(&branch)[2])

Definition at line 25947 of file exprtk.hpp.

template<typename T>
template<typename Type>
typedef std::map<std::string,synthesize_functor_t> exprtk::parser< T >::expression_generator< Type >::synthesize_map_t

Definition at line 25948 of file exprtk.hpp.

template<typename T>
template<typename Type>
typedef const Type& exprtk::parser< T >::expression_generator< Type >::vtype

Definition at line 25950 of file exprtk.hpp.

Member Function Documentation

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::binext_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26470 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::boc_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26402 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::bov_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26461 of file exprtk.hpp.

template<typename T>
template<typename Type>
std::string exprtk::parser< T >::expression_generator< Type >::branch_to_id ( expression_node_ptr  branch) const
inline

Definition at line 26320 of file exprtk.hpp.

template<typename T>
template<typename Type>
std::string exprtk::parser< T >::expression_generator< Type >::branch_to_id ( expression_node_ptr(&)  branch[2]) const
inline

Definition at line 26361 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisable ( const details::operator_type operation,
const T &  c 
) const
inlineprivate

Definition at line 28596 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisation ( const T &  v,
const T &  c 
)
inlineprivate

Definition at line 28575 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisation ( expression_node_ptr(&)  branch[2])
inlineprivate

Definition at line 28601 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename TType , template< typename, typename > class IPowNode>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisation_impl ( const TType &  v,
const unsigned int &  p 
)
inlineprivate

Definition at line 28547 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::cob_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26393 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::coboc_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26427 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::cocob_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26411 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::conditional ( expression_node_ptr  condition,
expression_node_ptr  consequent,
expression_node_ptr  alternative 
) const
inline

Definition at line 26818 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::conditional_string ( expression_node_ptr  condition,
expression_node_ptr  consequent,
expression_node_ptr  alternative 
) const
inline

Definition at line 26864 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::const_optimise_mswitch ( Sequence< expression_node_ptr, Allocator > &  arg_list)
inline

Definition at line 27078 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::const_optimise_sf3 ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
)
inline

Definition at line 27347 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::const_optimise_sf4 ( const details::operator_type operation,
expression_node_ptr(&)  branch[4] 
)
inline

Definition at line 27450 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::const_optimise_switch ( Sequence< expression_node_ptr, Allocator > &  arg_list)
inline

Definition at line 27042 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::const_optimise_varargfunc ( const details::operator_type operation,
Sequence< expression_node_ptr, Allocator > &  arg_list 
)
inline

Definition at line 27555 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::cov_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26366 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::for_loop ( expression_node_ptr initialiser,
expression_node_ptr condition,
expression_node_ptr incrementor,
expression_node_ptr loop_body,
bool  brkcont = false 
) const
inline

Definition at line 26986 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<std::size_t N>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::function ( ifunction_t f,
expression_node_ptr(&)  b[N] 
)
inline

Definition at line 27694 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::function ( ifunction_t f)
inline

Definition at line 27728 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::generic_function_call ( igeneric_function_t gf,
std::vector< expression_node_ptr > &  arg_list,
const std::size_t &  param_seq_index = std::numeric_limits<std::size_t>::max() 
)
inline

Definition at line 27764 of file exprtk.hpp.

template<typename T>
template<typename Type>
details::operator_type exprtk::parser< T >::expression_generator< Type >::get_operator ( const binary_functor_t bop) const
inline

Definition at line 26095 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::init_synthesize_map ( )
inline

Definition at line 25953 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_assignment_operation ( const details::operator_type operation) const
inline

Definition at line 26236 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<std::size_t N, typename NodePtr >
bool exprtk::parser< T >::expression_generator< Type >::is_constant_foldable ( NodePtr(&)  b[N]) const
inlineprivate

Definition at line 27993 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename NodePtr , typename Allocator , template< typename, typename > class Sequence>
bool exprtk::parser< T >::expression_generator< Type >::is_constant_foldable ( const Sequence< NodePtr, Allocator > &  b) const
inlineprivate

Definition at line 28009 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_constpow_operation ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26501 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_invalid_assignment_op ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26479 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_invalid_break_continue_op ( expression_node_ptr(&)  branch[2]) const
inline

Definition at line 26517 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_invalid_string_op ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26527 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_invalid_string_op ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
) const
inline

Definition at line 26547 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_null_present ( expression_node_ptr(&)  branch[2]) const
inline

Definition at line 26600 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_shortcircuit_expression ( const details::operator_type operation) const
inline

Definition at line 26586 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_string_operation ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26568 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_string_operation ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
) const
inline

Definition at line 26576 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_vector_arithmetic_operation ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26630 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::is_vector_eqineq_logic_operation ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26608 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::lodge_assignment ( symbol_type  cst,
expression_node_ptr  node 
)
inlineprivate

Definition at line 28022 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::multi_switch_statement ( Sequence< expression_node_ptr, Allocator > &  arg_list)
inline

Definition at line 27243 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::operation_optimisable ( const details::operator_type operation) const
inline

Definition at line 26298 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const Type &  v) const
inline

Definition at line 26100 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const std::string &  s) const
inline

Definition at line 26106 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( std::string &  s,
range_t rp 
) const
inline

Definition at line 26111 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const std::string &  s,
range_t rp 
) const
inline

Definition at line 26116 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( expression_node_ptr  branch,
range_t rp 
) const
inline

Definition at line 26121 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr(&)  branch[1] 
)
inline

Definition at line 26202 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inline

Definition at line 26644 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
)
inline

Definition at line 26768 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr(&)  branch[4] 
)
inline

Definition at line 26792 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr  b0 
)
inline

Definition at line 26797 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::operator() ( const details::operator_type operation,
expression_node_ptr b0,
expression_node_ptr b1 
)
inline

Definition at line 26803 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::repeat_until_loop ( expression_node_ptr condition,
expression_node_ptr branch,
const bool  brkcont = false 
) const
inline

Definition at line 26949 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::return_call ( std::vector< expression_node_ptr > &  arg_list)
inline

Definition at line 27874 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::return_envelope ( expression_node_ptr  body,
results_context_t rc,
bool *&  return_invoked 
)
inline

Definition at line 27904 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_allocator ( details::node_allocator na)
inline

Definition at line 26056 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_bom ( binary_op_map_t binary_op_map)
inline

Definition at line 26036 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_ibom ( inv_binary_op_map_t inv_binary_op_map)
inline

Definition at line 26041 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_parser ( parser_t p)
inline

Definition at line 26026 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_sf3m ( sf3_map_t sf3_map)
inline

Definition at line 26046 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_sf4m ( sf4_map_t sf4_map)
inline

Definition at line 26051 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_strength_reduction_state ( const bool  enabled)
inline

Definition at line 26061 of file exprtk.hpp.

template<typename T>
template<typename Type>
void exprtk::parser< T >::expression_generator< Type >::set_uom ( unary_op_map_t unary_op_map)
inline

Definition at line 26031 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::sf3_optimisable ( const std::string &  sf3id,
trinary_functor_t tfunc 
) const
inline

Definition at line 26154 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::sf3_optimisable ( const std::string &  sf3id,
details::operator_type operation 
) const
inline

Definition at line 26178 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::sf4_optimisable ( const std::string &  sf4id,
quaternary_functor_t qfunc 
) const
inline

Definition at line 26166 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::sf4_optimisable ( const std::string &  sf4id,
details::operator_type operation 
) const
inline

Definition at line 26190 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::special_function ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
)
inline

Definition at line 27415 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::special_function ( const details::operator_type operation,
expression_node_ptr(&)  branch[4] 
)
inline

Definition at line 27520 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::special_one_parameter_vararg ( const details::operator_type operation) const
inline

Definition at line 27586 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::strength_reduction_enabled ( ) const
inline

Definition at line 26066 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::string_function_call ( igeneric_function_t gf,
std::vector< expression_node_ptr > &  arg_list,
const std::size_t &  param_seq_index = std::numeric_limits<std::size_t>::max() 
)
inline

Definition at line 27819 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::switch_statement ( Sequence< expression_node_ptr, Allocator > &  arg_list)
inline

Definition at line 27203 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_assignment_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 28072 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_assignment_operation_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 28129 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csocs_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34593 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csocsr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34624 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csos_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34539 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csosr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34549 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csrocs_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34667 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csrocsr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34680 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csros_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34638 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_csrosr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34651 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::synthesize_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2],
expression_node_ptr result 
)
inlineprivate

Definition at line 29567 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename NodeType , std::size_t N>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[N] 
)
inlineprivate

Definition at line 35011 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename NodeType , std::size_t N>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_expression ( F f,
expression_node_ptr(&)  branch[N] 
)
inlineprivate

Definition at line 35049 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_null_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34915 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_shortcircuit_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 28466 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_socs_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34529 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_socsr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34500 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_sos_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34466 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename T0 , typename T1 >
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_sos_expression_impl ( const details::operator_type opr,
T0  s0,
T1  s1 
)
inlineprivate

Definition at line 34452 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_sosr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34487 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_srocs_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34563 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_srocsr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34577 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_sros_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34474 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_srosr_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34513 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename T0 , typename T1 >
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_str_xoxr_expression_impl ( const details::operator_type opr,
T0  s0,
T1  s1,
range_t  rp1 
)
inlineprivate

Definition at line 34416 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename T0 , typename T1 >
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_str_xrox_expression_impl ( const details::operator_type opr,
T0  s0,
T1  s1,
range_t  rp0 
)
inlineprivate

Definition at line 34398 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename T0 , typename T1 >
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_str_xroxr_expression_impl ( const details::operator_type opr,
T0  s0,
T1  s1,
range_t  rp0,
range_t  rp1 
)
inlineprivate

Definition at line 34434 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_string_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34712 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_string_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[3] 
)
inlineprivate

Definition at line 34799 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_strogen_expression ( const details::operator_type opr,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34695 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_swap_expression ( expression_node_ptr(&)  branch[2])
inlineprivate

Definition at line 28406 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_unary_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[1] 
)
inline

Definition at line 27332 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_uv_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[1] 
)
inline

Definition at line 27299 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_uvec_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[1] 
)
inline

Definition at line 27316 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_uvouv_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 34310 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_vecarithmetic_operation_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 28343 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::synthesize_veceqineqlogic_operation_expression ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
)
inlineprivate

Definition at line 28274 of file exprtk.hpp.

template<typename T>
template<typename Type>
std::string exprtk::parser< T >::expression_generator< Type >::to_str ( const details::operator_type operation) const
inline

Definition at line 26272 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::unary_optimisable ( const details::operator_type operation) const
inline

Definition at line 26130 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::uvouv_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26443 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::valid_operator ( const details::operator_type operation,
binary_functor_t bop 
)
inline

Definition at line 26071 of file exprtk.hpp.

Here is the caller graph for this function:

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::valid_operator ( const details::operator_type operation,
unary_functor_t uop 
)
inline

Definition at line 26083 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::valid_string_operation ( const details::operator_type operation) const
inline

Definition at line 26249 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::vararg_function ( const details::operator_type operation,
Sequence< expression_node_ptr, Allocator > &  arg_list 
)
inline

Definition at line 27647 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::vararg_function_call ( ivararg_function_t vaf,
std::vector< expression_node_ptr > &  arg_list 
)
inline

Definition at line 27734 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::varnode_optimise_sf3 ( const details::operator_type operation,
expression_node_ptr(&)  branch[3] 
)
inline

Definition at line 27383 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::varnode_optimise_sf4 ( const details::operator_type operation,
expression_node_ptr(&)  branch[4] 
)
inline

Definition at line 27486 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::varnode_optimise_varargfunc ( const details::operator_type operation,
Sequence< expression_node_ptr, Allocator > &  arg_list 
)
inline

Definition at line 27599 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::vector_element ( const std::string &  symbol,
vector_holder_ptr  vector_base,
expression_node_ptr  index 
)
inline

Definition at line 27931 of file exprtk.hpp.

template<typename T>
template<typename Type>
template<typename Allocator , template< typename, typename > class Sequence>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::vectorize_func ( const details::operator_type operation,
Sequence< expression_node_ptr, Allocator > &  arg_list 
)
inline

Definition at line 27622 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::vob_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26452 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::voc_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26375 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::vov_optimisable ( const details::operator_type operation,
expression_node_ptr(&)  branch[2] 
) const
inline

Definition at line 26384 of file exprtk.hpp.

template<typename T>
template<typename Type>
expression_node_ptr exprtk::parser< T >::expression_generator< Type >::while_loop ( expression_node_ptr condition,
expression_node_ptr branch,
const bool  brkcont = false 
) const
inline

Definition at line 26915 of file exprtk.hpp.

Member Data Documentation

template<typename T>
template<typename Type>
binary_op_map_t* exprtk::parser< T >::expression_generator< Type >::binary_op_map_
private

Definition at line 35091 of file exprtk.hpp.

template<typename T>
template<typename Type>
inv_binary_op_map_t* exprtk::parser< T >::expression_generator< Type >::inv_binary_op_map_
private

Definition at line 35092 of file exprtk.hpp.

template<typename T>
template<typename Type>
details::node_allocator* exprtk::parser< T >::expression_generator< Type >::node_allocator_
private

Definition at line 35088 of file exprtk.hpp.

template<typename T>
template<typename Type>
parser_t* exprtk::parser< T >::expression_generator< Type >::parser_
private

Definition at line 35095 of file exprtk.hpp.

template<typename T>
template<typename Type>
sf3_map_t* exprtk::parser< T >::expression_generator< Type >::sf3_map_
private

Definition at line 35093 of file exprtk.hpp.

template<typename T>
template<typename Type>
sf4_map_t* exprtk::parser< T >::expression_generator< Type >::sf4_map_
private

Definition at line 35094 of file exprtk.hpp.

template<typename T>
template<typename Type>
bool exprtk::parser< T >::expression_generator< Type >::strength_reduction_enabled_
private

Definition at line 35087 of file exprtk.hpp.

template<typename T>
template<typename Type>
synthesize_map_t exprtk::parser< T >::expression_generator< Type >::synthesize_map_
private

Definition at line 35089 of file exprtk.hpp.

template<typename T>
template<typename Type>
unary_op_map_t* exprtk::parser< T >::expression_generator< Type >::unary_op_map_
private

Definition at line 35090 of file exprtk.hpp.


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