OpcUaCanOpen
CANopen OPC-UA server
exprtk::parser< T >::expression_generator< Type > Class Template Reference

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

Member Typedef Documentation

◆ ctype

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

Definition at line 25874 of file exprtk.hpp.

◆ expression_node_ptr

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

Definition at line 25869 of file exprtk.hpp.

◆ parser_t

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

Definition at line 25872 of file exprtk.hpp.

◆ synthesize_functor_t

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

◆ synthesize_map_t

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

◆ vtype

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

Definition at line 25873 of file exprtk.hpp.

Member Function Documentation

◆ binext_optimisable()

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

◆ boc_optimisable()

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

◆ bov_optimisable()

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

◆ branch_to_id() [1/2]

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

◆ branch_to_id() [2/2]

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

◆ cardinal_pow_optimisable()

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

◆ cardinal_pow_optimisation() [1/2]

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

◆ cardinal_pow_optimisation() [2/2]

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

◆ cardinal_pow_optimisation_impl()

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

◆ cob_optimisable()

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

◆ coboc_optimisable()

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

◆ cocob_optimisable()

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

◆ conditional()

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

◆ conditional_string()

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

◆ const_optimise_mswitch()

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

◆ const_optimise_sf3()

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

◆ const_optimise_sf4()

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

◆ const_optimise_switch()

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

◆ const_optimise_varargfunc()

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

◆ cov_optimisable()

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

◆ for_loop()

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

◆ function() [1/2]

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

◆ function() [2/2]

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

Definition at line 27651 of file exprtk.hpp.

◆ generic_function_call()

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

◆ get_operator()

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

◆ init_synthesize_map()

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

Definition at line 25876 of file exprtk.hpp.

◆ is_assignment_operation()

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

◆ is_constant_foldable() [1/2]

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

◆ is_constant_foldable() [2/2]

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

◆ is_constpow_operation()

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

◆ is_invalid_assignment_op()

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

◆ is_invalid_break_continue_op()

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

◆ is_invalid_string_op() [1/2]

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

◆ is_invalid_string_op() [2/2]

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

◆ is_null_present()

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

◆ is_shortcircuit_expression()

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

◆ is_string_operation() [1/2]

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

◆ is_string_operation() [2/2]

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

◆ is_vector_arithmetic_operation()

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

◆ is_vector_eqineq_logic_operation()

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

◆ lodge_assignment()

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

◆ multi_switch_statement()

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

◆ operation_optimisable()

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

◆ operator()() [1/11]

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

Definition at line 26023 of file exprtk.hpp.

◆ operator()() [2/11]

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

◆ operator()() [3/11]

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

◆ operator()() [4/11]

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

◆ operator()() [5/11]

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

◆ operator()() [6/11]

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

◆ operator()() [7/11]

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

◆ operator()() [8/11]

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

◆ operator()() [9/11]

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

◆ operator()() [10/11]

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

◆ operator()() [11/11]

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

◆ repeat_until_loop()

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

◆ return_call()

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

◆ return_envelope()

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

◆ set_allocator()

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

Definition at line 25979 of file exprtk.hpp.

◆ set_bom()

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

◆ set_ibom()

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

◆ set_parser()

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

Definition at line 25949 of file exprtk.hpp.

◆ set_sf3m()

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

Definition at line 25969 of file exprtk.hpp.

◆ set_sf4m()

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

Definition at line 25974 of file exprtk.hpp.

◆ set_strength_reduction_state()

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

Definition at line 25984 of file exprtk.hpp.

◆ set_uom()

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

◆ sf3_optimisable() [1/2]

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

◆ sf3_optimisable() [2/2]

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

◆ sf4_optimisable() [1/2]

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

◆ sf4_optimisable() [2/2]

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

◆ special_function() [1/2]

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

◆ special_function() [2/2]

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

◆ special_one_parameter_vararg()

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

◆ strength_reduction_enabled()

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

Definition at line 25989 of file exprtk.hpp.

◆ string_function_call()

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

◆ switch_statement()

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

◆ synthesize_assignment_expression()

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

◆ synthesize_assignment_operation_expression()

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

◆ synthesize_csocs_expression()

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

◆ synthesize_csocsr_expression()

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

◆ synthesize_csos_expression()

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

◆ synthesize_csosr_expression()

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

◆ synthesize_csrocs_expression()

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

◆ synthesize_csrocsr_expression()

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

◆ synthesize_csros_expression()

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

◆ synthesize_csrosr_expression()

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

◆ synthesize_expression() [1/3]

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

◆ synthesize_expression() [2/3]

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

◆ synthesize_expression() [3/3]

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

◆ synthesize_null_expression()

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

◆ synthesize_shortcircuit_expression()

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

◆ synthesize_socs_expression()

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

◆ synthesize_socsr_expression()

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

◆ synthesize_sos_expression()

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

◆ synthesize_sos_expression_impl()

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

◆ synthesize_sosr_expression()

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

◆ synthesize_srocs_expression()

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

◆ synthesize_srocsr_expression()

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

◆ synthesize_sros_expression()

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

◆ synthesize_srosr_expression()

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

◆ synthesize_str_xoxr_expression_impl()

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

◆ synthesize_str_xrox_expression_impl()

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

◆ synthesize_str_xroxr_expression_impl()

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

◆ synthesize_string_expression() [1/2]

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

◆ synthesize_string_expression() [2/2]

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

◆ synthesize_strogen_expression()

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

◆ synthesize_swap_expression()

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

◆ synthesize_unary_expression()

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

◆ synthesize_uv_expression()

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

◆ synthesize_uvec_expression()

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

◆ synthesize_uvouv_expression()

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

◆ synthesize_vecarithmetic_operation_expression()

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

◆ synthesize_veceqineqlogic_operation_expression()

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

◆ to_str()

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

◆ unary_optimisable()

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

◆ uvouv_optimisable()

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

◆ valid_operator() [1/2]

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

◆ valid_operator() [2/2]

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

◆ valid_string_operation()

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

◆ vararg_function()

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

◆ vararg_function_call()

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

◆ varnode_optimise_sf3()

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

◆ varnode_optimise_sf4()

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

◆ varnode_optimise_varargfunc()

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

◆ vector_element()

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

◆ vectorize_func()

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

◆ vob_optimisable()

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

◆ voc_optimisable()

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

◆ vov_optimisable()

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

◆ while_loop()

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

Member Data Documentation

◆ binary_op_map_

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

Definition at line 35007 of file exprtk.hpp.

◆ inv_binary_op_map_

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

◆ node_allocator_

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

Definition at line 35004 of file exprtk.hpp.

◆ parser_

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

Definition at line 35011 of file exprtk.hpp.

◆ sf3_map_

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

Definition at line 35009 of file exprtk.hpp.

◆ sf4_map_

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

Definition at line 35010 of file exprtk.hpp.

◆ strength_reduction_enabled_

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

Definition at line 35003 of file exprtk.hpp.

◆ synthesize_map_

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

Definition at line 35005 of file exprtk.hpp.

◆ unary_op_map_

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

Definition at line 35006 of file exprtk.hpp.


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