C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::parser< T >::settings_store Class Reference

#include <exprtk.hpp>

Public Types

enum  settings_compilation_options {
  e_unknown = 0 , e_replacer = 1 , e_joiner = 2 , e_numeric_check = 4 ,
  e_bracket_check = 8 , e_sequence_check = 16 , e_commutative_check = 32 , e_strength_reduction = 64 ,
  e_disable_vardef = 128 , e_collect_vars = 256 , e_collect_funcs = 512 , e_collect_assings = 1024 ,
  e_disable_usr_on_rsrvd = 2048 , e_disable_zero_return = 4096
}
enum  settings_base_funcs {
  e_bf_unknown = 0 , e_bf_abs , e_bf_acos , e_bf_acosh ,
  e_bf_asin , e_bf_asinh , e_bf_atan , e_bf_atan2 ,
  e_bf_atanh , e_bf_avg , e_bf_ceil , e_bf_clamp ,
  e_bf_cos , e_bf_cosh , e_bf_cot , e_bf_csc ,
  e_bf_equal , e_bf_erf , e_bf_erfc , e_bf_exp ,
  e_bf_expm1 , e_bf_floor , e_bf_frac , e_bf_hypot ,
  e_bf_iclamp , e_bf_like , e_bf_log , e_bf_log10 ,
  e_bf_log1p , e_bf_log2 , e_bf_logn , e_bf_mand ,
  e_bf_max , e_bf_min , e_bf_mod , e_bf_mor ,
  e_bf_mul , e_bf_ncdf , e_bf_pow , e_bf_root ,
  e_bf_round , e_bf_roundn , e_bf_sec , e_bf_sgn ,
  e_bf_sin , e_bf_sinc , e_bf_sinh , e_bf_sqrt ,
  e_bf_sum , e_bf_swap , e_bf_tan , e_bf_tanh ,
  e_bf_trunc , e_bf_not_equal , e_bf_inrange , e_bf_deg2grad ,
  e_bf_deg2rad , e_bf_rad2deg , e_bf_grad2deg
}
enum  settings_control_structs {
  e_ctrl_unknown = 0 , e_ctrl_ifelse , e_ctrl_switch , e_ctrl_for_loop ,
  e_ctrl_while_loop , e_ctrl_repeat_loop , e_ctrl_return
}
enum  settings_logic_opr {
  e_logic_unknown = 0 , e_logic_and , e_logic_nand , e_logic_nor ,
  e_logic_not , e_logic_or , e_logic_xnor , e_logic_xor ,
  e_logic_scand , e_logic_scor
}
enum  settings_arithmetic_opr {
  e_arith_unknown = 0 , e_arith_add , e_arith_sub , e_arith_mul ,
  e_arith_div , e_arith_mod , e_arith_pow
}
enum  settings_assignment_opr {
  e_assign_unknown = 0 , e_assign_assign , e_assign_addass , e_assign_subass ,
  e_assign_mulass , e_assign_divass , e_assign_modass
}
enum  settings_inequality_opr {
  e_ineq_unknown = 0 , e_ineq_lt , e_ineq_lte , e_ineq_eq ,
  e_ineq_equal , e_ineq_ne , e_ineq_nequal , e_ineq_gte ,
  e_ineq_gt
}

Public Member Functions

 settings_store (const std::size_t compile_options=default_compile_all_opts)
settings_store & enable_all_base_functions ()
settings_store & enable_all_control_structures ()
settings_store & enable_all_logic_ops ()
settings_store & enable_all_arithmetic_ops ()
settings_store & enable_all_assignment_ops ()
settings_store & enable_all_inequality_ops ()
settings_store & enable_local_vardef ()
settings_store & enable_commutative_check ()
settings_store & enable_strength_reduction ()
settings_store & disable_all_base_functions ()
settings_store & disable_all_control_structures ()
settings_store & disable_all_logic_ops ()
settings_store & disable_all_arithmetic_ops ()
settings_store & disable_all_assignment_ops ()
settings_store & disable_all_inequality_ops ()
settings_store & disable_local_vardef ()
settings_store & disable_commutative_check ()
settings_store & disable_strength_reduction ()
bool replacer_enabled () const
bool commutative_check_enabled () const
bool joiner_enabled () const
bool numeric_check_enabled () const
bool bracket_check_enabled () const
bool sequence_check_enabled () const
bool strength_reduction_enabled () const
bool collect_variables_enabled () const
bool collect_functions_enabled () const
bool collect_assignments_enabled () const
bool vardef_disabled () const
bool rsrvd_sym_usr_disabled () const
bool zero_return_disabled () const
bool function_enabled (const std::string &function_name) const
bool control_struct_enabled (const std::string &control_struct) const
bool logic_enabled (const std::string &logic_operation) const
bool arithmetic_enabled (const details::operator_type &arithmetic_operation) const
bool assignment_enabled (const details::operator_type &assignment) const
bool inequality_enabled (const details::operator_type &inequality) const
bool function_disabled (const std::string &function_name) const
bool control_struct_disabled (const std::string &control_struct) const
bool logic_disabled (const std::string &logic_operation) const
bool assignment_disabled (const details::operator_type assignment_operation) const
bool logic_disabled (const details::operator_type logic_operation) const
bool arithmetic_disabled (const details::operator_type arithmetic_operation) const
bool inequality_disabled (const details::operator_type &inequality) const
settings_store & disable_base_function (const settings_base_funcs bf)
settings_store & disable_control_structure (const settings_control_structs ctrl_struct)
settings_store & disable_logic_operation (const settings_logic_opr logic)
settings_store & disable_arithmetic_operation (const settings_arithmetic_opr arithmetic)
settings_store & disable_assignment_operation (const settings_assignment_opr assignment)
settings_store & disable_inequality_operation (const settings_inequality_opr inequality)
settings_store & enable_base_function (const settings_base_funcs bf)
settings_store & enable_control_structure (const settings_control_structs ctrl_struct)
settings_store & enable_logic_operation (const settings_logic_opr logic)
settings_store & enable_arithmetic_operation (const settings_arithmetic_opr arithmetic)
settings_store & enable_assignment_operation (const settings_assignment_opr assignment)
settings_store & enable_inequality_operation (const settings_inequality_opr inequality)
void set_max_stack_depth (const std::size_t max_stack_depth)
void set_max_node_depth (const std::size_t max_node_depth)
void set_max_local_vector_size (const std::size_t max_local_vector_size)
void set_max_total_local_symbol_size_bytes (const std::size_t max_total_lcl_symb_size)
std::size_t max_stack_depth () const
std::size_t max_node_depth () const
std::size_t max_local_vector_size () const
std::size_t max_total_local_symbol_size_bytes () const

Static Public Attributes

static const std::size_t default_compile_all_opts

Private Types

typedef std::set< std::string, details::ilesscompare > disabled_entity_set_t
typedef disabled_entity_set_t::iterator des_itr_t

Private Member Functions

void load_compile_options (const std::size_t compile_options)
std::string assign_opr_to_string (details::operator_type opr) const
std::string arith_opr_to_string (details::operator_type opr) const
std::string inequality_opr_to_string (details::operator_type opr) const
std::string logic_opr_to_string (details::operator_type opr) const

Private Attributes

bool enable_replacer_
bool enable_joiner_
bool enable_numeric_check_
bool enable_bracket_check_
bool enable_sequence_check_
bool enable_commutative_check_
bool enable_strength_reduction_
bool enable_collect_vars_
bool enable_collect_funcs_
bool enable_collect_assings_
bool disable_vardef_
bool disable_rsrvd_sym_usr_
bool disable_zero_return_
disabled_entity_set_t disabled_func_set_
disabled_entity_set_t disabled_ctrl_set_
disabled_entity_set_t disabled_logic_set_
disabled_entity_set_t disabled_arithmetic_set_
disabled_entity_set_t disabled_assignment_set_
disabled_entity_set_t disabled_inequality_set_
std::size_t max_stack_depth_
std::size_t max_node_depth_
std::size_t max_total_local_symbol_size_bytes_
std::size_t max_local_vector_size_

Friends

class parser< T >

Detailed Description

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

Definition at line 24028 of file exprtk.hpp.

Member Typedef Documentation

◆ des_itr_t

template<typename T>
typedef disabled_entity_set_t::iterator exprtk::parser< T >::settings_store::des_itr_t
private

Definition at line 24033 of file exprtk.hpp.

◆ disabled_entity_set_t

template<typename T>
typedef std::set<std::string,details::ilesscompare> exprtk::parser< T >::settings_store::disabled_entity_set_t
private

Definition at line 24032 of file exprtk.hpp.

Member Enumeration Documentation

◆ settings_arithmetic_opr

Enumerator
e_arith_unknown 
e_arith_add 
e_arith_sub 
e_arith_mul 
e_arith_div 
e_arith_mod 
e_arith_pow 

Definition at line 24094 of file exprtk.hpp.

◆ settings_assignment_opr

Enumerator
e_assign_unknown 
e_assign_assign 
e_assign_addass 
e_assign_subass 
e_assign_mulass 
e_assign_divass 
e_assign_modass 

Definition at line 24101 of file exprtk.hpp.

◆ settings_base_funcs

Enumerator
e_bf_unknown 
e_bf_abs 
e_bf_acos 
e_bf_acosh 
e_bf_asin 
e_bf_asinh 
e_bf_atan 
e_bf_atan2 
e_bf_atanh 
e_bf_avg 
e_bf_ceil 
e_bf_clamp 
e_bf_cos 
e_bf_cosh 
e_bf_cot 
e_bf_csc 
e_bf_equal 
e_bf_erf 
e_bf_erfc 
e_bf_exp 
e_bf_expm1 
e_bf_floor 
e_bf_frac 
e_bf_hypot 
e_bf_iclamp 
e_bf_like 
e_bf_log 
e_bf_log10 
e_bf_log1p 
e_bf_log2 
e_bf_logn 
e_bf_mand 
e_bf_max 
e_bf_min 
e_bf_mod 
e_bf_mor 
e_bf_mul 
e_bf_ncdf 
e_bf_pow 
e_bf_root 
e_bf_round 
e_bf_roundn 
e_bf_sec 
e_bf_sgn 
e_bf_sin 
e_bf_sinc 
e_bf_sinh 
e_bf_sqrt 
e_bf_sum 
e_bf_swap 
e_bf_tan 
e_bf_tanh 
e_bf_trunc 
e_bf_not_equal 
e_bf_inrange 
e_bf_deg2grad 
e_bf_deg2rad 
e_bf_rad2deg 
e_bf_grad2deg 

Definition at line 24055 of file exprtk.hpp.

24056 {
24057 e_bf_unknown = 0,
24073 };

◆ settings_compilation_options

Enumerator
e_unknown 
e_replacer 
e_joiner 
e_numeric_check 
e_bracket_check 
e_sequence_check 
e_commutative_check 
e_strength_reduction 
e_disable_vardef 
e_collect_vars 
e_collect_funcs 
e_collect_assings 
e_disable_usr_on_rsrvd 
e_disable_zero_return 

Definition at line 24037 of file exprtk.hpp.

24038 {
24039 e_unknown = 0,
24040 e_replacer = 1,
24041 e_joiner = 2,
24042 e_numeric_check = 4,
24043 e_bracket_check = 8,
24044 e_sequence_check = 16,
24047 e_disable_vardef = 128,
24048 e_collect_vars = 256,
24049 e_collect_funcs = 512,
24050 e_collect_assings = 1024,
24053 };

◆ settings_control_structs

Enumerator
e_ctrl_unknown 
e_ctrl_ifelse 
e_ctrl_switch 
e_ctrl_for_loop 
e_ctrl_while_loop 
e_ctrl_repeat_loop 
e_ctrl_return 

Definition at line 24075 of file exprtk.hpp.

◆ settings_inequality_opr

Enumerator
e_ineq_unknown 
e_ineq_lt 
e_ineq_lte 
e_ineq_eq 
e_ineq_equal 
e_ineq_ne 
e_ineq_nequal 
e_ineq_gte 
e_ineq_gt 

Definition at line 24108 of file exprtk.hpp.

◆ settings_logic_opr

Enumerator
e_logic_unknown 
e_logic_and 
e_logic_nand 
e_logic_nor 
e_logic_not 
e_logic_or 
e_logic_xnor 
e_logic_xor 
e_logic_scand 
e_logic_scor 

Definition at line 24086 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ settings_store()

template<typename T>
exprtk::parser< T >::settings_store::settings_store ( const std::size_t compile_options = default_compile_all_opts)
inline

Definition at line 24125 of file exprtk.hpp.

24126 : max_stack_depth_(400)
24127 , max_node_depth_(10000)
24130 {
24132 }
std::size_t max_total_local_symbol_size_bytes_
Definition exprtk.hpp:24712
void load_compile_options(const std::size_t compile_options)
Definition exprtk.hpp:24613

References default_compile_all_opts, load_compile_options(), max_local_vector_size_, max_node_depth_, max_stack_depth_, and max_total_local_symbol_size_bytes_.

Referenced by disable_all_arithmetic_ops(), disable_all_assignment_ops(), disable_all_base_functions(), disable_all_control_structures(), disable_all_inequality_ops(), disable_all_logic_ops(), disable_arithmetic_operation(), disable_assignment_operation(), disable_base_function(), disable_commutative_check(), disable_control_structure(), disable_inequality_operation(), disable_local_vardef(), disable_logic_operation(), disable_strength_reduction(), enable_all_arithmetic_ops(), enable_all_assignment_ops(), enable_all_base_functions(), enable_all_control_structures(), enable_all_inequality_ops(), enable_all_logic_ops(), enable_arithmetic_operation(), enable_assignment_operation(), enable_base_function(), enable_commutative_check(), enable_control_structure(), enable_inequality_operation(), enable_local_vardef(), enable_logic_operation(), and enable_strength_reduction().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ arith_opr_to_string()

template<typename T>
std::string exprtk::parser< T >::settings_store::arith_opr_to_string ( details::operator_type opr) const
inlineprivate

Definition at line 24644 of file exprtk.hpp.

24645 {
24646 switch (opr)
24647 {
24648 case details::e_add : return "+";
24649 case details::e_sub : return "-";
24650 case details::e_mul : return "*";
24651 case details::e_div : return "/";
24652 case details::e_mod : return "%";
24653 case details::e_pow : return "^";
24654 default : return "" ;
24655 }
24656 }

References exprtk::details::e_add, exprtk::details::e_div, exprtk::details::e_mod, exprtk::details::e_mul, exprtk::details::e_pow, and exprtk::details::e_sub.

Referenced by arithmetic_disabled(), and arithmetic_enabled().

Here is the caller graph for this function:

◆ arithmetic_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::arithmetic_disabled ( const details::operator_type arithmetic_operation) const
inline

Definition at line 24367 of file exprtk.hpp.

24368 {
24369 if (disabled_arithmetic_set_.empty())
24370 return false;
24371 else
24374 }
disabled_entity_set_t disabled_arithmetic_set_
Definition exprtk.hpp:24706
std::string arith_opr_to_string(details::operator_type opr) const
Definition exprtk.hpp:24644

References arith_opr_to_string(), and disabled_arithmetic_set_.

Here is the call graph for this function:

◆ arithmetic_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::arithmetic_enabled ( const details::operator_type & arithmetic_operation) const
inline

Definition at line 24298 of file exprtk.hpp.

24299 {
24300 if (disabled_arithmetic_set_.empty())
24301 return true;
24302 else
24305 }

References arith_opr_to_string(), and disabled_arithmetic_set_.

Here is the call graph for this function:

◆ assign_opr_to_string()

template<typename T>
std::string exprtk::parser< T >::settings_store::assign_opr_to_string ( details::operator_type opr) const
inlineprivate

Definition at line 24630 of file exprtk.hpp.

24631 {
24632 switch (opr)
24633 {
24634 case details::e_assign : return ":=";
24635 case details::e_addass : return "+=";
24636 case details::e_subass : return "-=";
24637 case details::e_mulass : return "*=";
24638 case details::e_divass : return "/=";
24639 case details::e_modass : return "%=";
24640 default : return "" ;
24641 }
24642 }

References exprtk::details::e_addass, exprtk::details::e_assign, exprtk::details::e_divass, exprtk::details::e_modass, exprtk::details::e_mulass, and exprtk::details::e_subass.

Referenced by assignment_disabled(), and assignment_enabled().

Here is the caller graph for this function:

◆ assignment_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::assignment_disabled ( const details::operator_type assignment_operation) const
inline

Definition at line 24349 of file exprtk.hpp.

24350 {
24351 if (disabled_assignment_set_.empty())
24352 return false;
24353 else
24356 }
disabled_entity_set_t disabled_assignment_set_
Definition exprtk.hpp:24707
std::string assign_opr_to_string(details::operator_type opr) const
Definition exprtk.hpp:24630

References assign_opr_to_string(), and disabled_assignment_set_.

Here is the call graph for this function:

◆ assignment_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::assignment_enabled ( const details::operator_type & assignment) const
inline

Definition at line 24307 of file exprtk.hpp.

24308 {
24309 if (disabled_assignment_set_.empty())
24310 return true;
24311 else
24314 }

References assign_opr_to_string(), and disabled_assignment_set_.

Here is the call graph for this function:

◆ bracket_check_enabled()

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

Definition at line 24264 of file exprtk.hpp.

References enable_bracket_check_.

◆ collect_assignments_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::collect_assignments_enabled ( ) const
inline

Definition at line 24269 of file exprtk.hpp.

References enable_collect_assings_.

◆ collect_functions_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::collect_functions_enabled ( ) const
inline

Definition at line 24268 of file exprtk.hpp.

References enable_collect_funcs_.

◆ collect_variables_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::collect_variables_enabled ( ) const
inline

Definition at line 24267 of file exprtk.hpp.

References enable_collect_vars_.

◆ commutative_check_enabled()

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

Definition at line 24261 of file exprtk.hpp.

References enable_commutative_check_.

◆ control_struct_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::control_struct_disabled ( const std::string & control_struct) const
inline

Definition at line 24333 of file exprtk.hpp.

24334 {
24335 if (disabled_ctrl_set_.empty())
24336 return false;
24337 else
24339 }
disabled_entity_set_t disabled_ctrl_set_
Definition exprtk.hpp:24704

References disabled_ctrl_set_.

◆ control_struct_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::control_struct_enabled ( const std::string & control_struct) const
inline

Definition at line 24282 of file exprtk.hpp.

24283 {
24284 if (disabled_ctrl_set_.empty())
24285 return true;
24286 else
24288 }

References disabled_ctrl_set_.

◆ disable_all_arithmetic_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_arithmetic_ops ( )
inline

Definition at line 24215 of file exprtk.hpp.

References exprtk::details::arithmetic_ops_list, exprtk::details::arithmetic_ops_list_size, disabled_arithmetic_set_, and settings_store().

Here is the call graph for this function:

◆ disable_all_assignment_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_assignment_ops ( )
inline

Definition at line 24224 of file exprtk.hpp.

References exprtk::details::assignment_ops_list, exprtk::details::assignment_ops_list_size, disabled_assignment_set_, and settings_store().

Here is the call graph for this function:

◆ disable_all_base_functions()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_base_functions ( )
inline

Definition at line 24188 of file exprtk.hpp.

References exprtk::details::base_function_list, exprtk::details::base_function_list_size, disabled_func_set_, and settings_store().

Here is the call graph for this function:

◆ disable_all_control_structures()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_control_structures ( )
inline

Definition at line 24197 of file exprtk.hpp.

References exprtk::details::cntrl_struct_list, exprtk::details::cntrl_struct_list_size, disabled_ctrl_set_, and settings_store().

Here is the call graph for this function:

◆ disable_all_inequality_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_inequality_ops ( )
inline

Definition at line 24233 of file exprtk.hpp.

References disabled_inequality_set_, exprtk::details::inequality_ops_list, exprtk::details::inequality_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ disable_all_logic_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_all_logic_ops ( )
inline

Definition at line 24206 of file exprtk.hpp.

References disabled_logic_set_, exprtk::details::logic_ops_list, exprtk::details::logic_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ disable_arithmetic_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_arithmetic_operation ( const settings_arithmetic_opr arithmetic)
inline

Definition at line 24424 of file exprtk.hpp.

24425 {
24426 if (
24429 )
24430 {
24432 }
24433
24434 return (*this);
24435 }

References exprtk::details::arithmetic_ops_list, exprtk::details::arithmetic_ops_list_size, disabled_arithmetic_set_, e_arith_unknown, and settings_store().

Here is the call graph for this function:

◆ disable_assignment_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_assignment_operation ( const settings_assignment_opr assignment)
inline

Definition at line 24437 of file exprtk.hpp.

24438 {
24439 if (
24442 )
24443 {
24445 }
24446
24447 return (*this);
24448 }

References exprtk::details::assignment_ops_list, exprtk::details::assignment_ops_list_size, disabled_assignment_set_, e_assign_unknown, and settings_store().

Here is the call graph for this function:

◆ disable_base_function()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_base_function ( const settings_base_funcs bf)
inline

Definition at line 24385 of file exprtk.hpp.

24386 {
24387 if (
24388 (e_bf_unknown != bf) &&
24389 (static_cast<std::size_t>(bf) < (details::base_function_list_size + 1))
24390 )
24391 {
24393 }
24394
24395 return (*this);
24396 }

References exprtk::details::base_function_list, exprtk::details::base_function_list_size, disabled_func_set_, e_bf_unknown, and settings_store().

Here is the call graph for this function:

◆ disable_commutative_check()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_commutative_check ( )
inline

Definition at line 24248 of file exprtk.hpp.

24249 {
24251 return (*this);
24252 }

References enable_commutative_check_, and settings_store().

Here is the call graph for this function:

◆ disable_control_structure()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_control_structure ( const settings_control_structs ctrl_struct)
inline

Definition at line 24398 of file exprtk.hpp.

24399 {
24400 if (
24403 )
24404 {
24406 }
24407
24408 return (*this);
24409 }

References exprtk::details::cntrl_struct_list, exprtk::details::cntrl_struct_list_size, disabled_ctrl_set_, e_ctrl_unknown, and settings_store().

Here is the call graph for this function:

◆ disable_inequality_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_inequality_operation ( const settings_inequality_opr inequality)
inline

Definition at line 24450 of file exprtk.hpp.

24451 {
24452 if (
24455 )
24456 {
24458 }
24459
24460 return (*this);
24461 }

References disabled_inequality_set_, e_ineq_unknown, exprtk::details::inequality_ops_list, exprtk::details::inequality_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ disable_local_vardef()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_local_vardef ( )
inline

Definition at line 24242 of file exprtk.hpp.

24243 {
24244 disable_vardef_ = true;
24245 return (*this);
24246 }

References disable_vardef_, and settings_store().

Here is the call graph for this function:

◆ disable_logic_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_logic_operation ( const settings_logic_opr logic)
inline

Definition at line 24411 of file exprtk.hpp.

24412 {
24413 if (
24414 (e_logic_unknown != logic) &&
24415 (static_cast<std::size_t>(logic) < (details::logic_ops_list_size + 1))
24416 )
24417 {
24419 }
24420
24421 return (*this);
24422 }

References disabled_logic_set_, e_logic_unknown, logic(), exprtk::details::logic_ops_list, exprtk::details::logic_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ disable_strength_reduction()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::disable_strength_reduction ( )
inline

Definition at line 24254 of file exprtk.hpp.

24255 {
24257 return (*this);
24258 }

References enable_strength_reduction_, and settings_store().

Here is the call graph for this function:

◆ enable_all_arithmetic_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_arithmetic_ops ( )
inline

Definition at line 24152 of file exprtk.hpp.

24153 {
24155 return (*this);
24156 }

References disabled_arithmetic_set_, and settings_store().

Here is the call graph for this function:

◆ enable_all_assignment_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_assignment_ops ( )
inline

Definition at line 24158 of file exprtk.hpp.

24159 {
24161 return (*this);
24162 }

References disabled_assignment_set_, and settings_store().

Here is the call graph for this function:

◆ enable_all_base_functions()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_base_functions ( )
inline

Definition at line 24134 of file exprtk.hpp.

24135 {
24136 disabled_func_set_.clear();
24137 return (*this);
24138 }

References disabled_func_set_, and settings_store().

Here is the call graph for this function:

◆ enable_all_control_structures()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_control_structures ( )
inline

Definition at line 24140 of file exprtk.hpp.

24141 {
24142 disabled_ctrl_set_.clear();
24143 return (*this);
24144 }

References disabled_ctrl_set_, and settings_store().

Here is the call graph for this function:

◆ enable_all_inequality_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_inequality_ops ( )
inline

Definition at line 24164 of file exprtk.hpp.

24165 {
24167 return (*this);
24168 }

References disabled_inequality_set_, and settings_store().

Here is the call graph for this function:

◆ enable_all_logic_ops()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_all_logic_ops ( )
inline

Definition at line 24146 of file exprtk.hpp.

24147 {
24148 disabled_logic_set_.clear();
24149 return (*this);
24150 }

References disabled_logic_set_, and settings_store().

Here is the call graph for this function:

◆ enable_arithmetic_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_arithmetic_operation ( const settings_arithmetic_opr arithmetic)
inline

Definition at line 24517 of file exprtk.hpp.

24518 {
24519 if (
24522 )
24523 {
24525
24526 if (disabled_arithmetic_set_.end() != itr)
24527 {
24529 }
24530 }
24531
24532 return (*this);
24533 }
disabled_entity_set_t::iterator des_itr_t
Definition exprtk.hpp:24033

References exprtk::details::arithmetic_ops_list, exprtk::details::arithmetic_ops_list_size, disabled_arithmetic_set_, e_arith_unknown, and settings_store().

Here is the call graph for this function:

◆ enable_assignment_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_assignment_operation ( const settings_assignment_opr assignment)
inline

Definition at line 24535 of file exprtk.hpp.

24536 {
24537 if (
24540 )
24541 {
24543
24544 if (disabled_assignment_set_.end() != itr)
24545 {
24547 }
24548 }
24549
24550 return (*this);
24551 }

References exprtk::details::assignment_ops_list, exprtk::details::assignment_ops_list_size, disabled_assignment_set_, e_assign_unknown, and settings_store().

Here is the call graph for this function:

◆ enable_base_function()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_base_function ( const settings_base_funcs bf)
inline

Definition at line 24463 of file exprtk.hpp.

24464 {
24465 if (
24466 (e_bf_unknown != bf) &&
24467 (static_cast<std::size_t>(bf) < (details::base_function_list_size + 1))
24468 )
24469 {
24471
24472 if (disabled_func_set_.end() != itr)
24473 {
24474 disabled_func_set_.erase(itr);
24475 }
24476 }
24477
24478 return (*this);
24479 }

References exprtk::details::base_function_list, exprtk::details::base_function_list_size, disabled_func_set_, e_bf_unknown, and settings_store().

Here is the call graph for this function:

◆ enable_commutative_check()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_commutative_check ( )
inline

Definition at line 24176 of file exprtk.hpp.

24177 {
24179 return (*this);
24180 }

References enable_commutative_check_, and settings_store().

Here is the call graph for this function:

◆ enable_control_structure()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_control_structure ( const settings_control_structs ctrl_struct)
inline

Definition at line 24481 of file exprtk.hpp.

24482 {
24483 if (
24486 )
24487 {
24489
24490 if (disabled_ctrl_set_.end() != itr)
24491 {
24492 disabled_ctrl_set_.erase(itr);
24493 }
24494 }
24495
24496 return (*this);
24497 }

References exprtk::details::cntrl_struct_list, exprtk::details::cntrl_struct_list_size, disabled_ctrl_set_, e_ctrl_unknown, and settings_store().

Here is the call graph for this function:

◆ enable_inequality_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_inequality_operation ( const settings_inequality_opr inequality)
inline

Definition at line 24553 of file exprtk.hpp.

24554 {
24555 if (
24558 )
24559 {
24561
24562 if (disabled_inequality_set_.end() != itr)
24563 {
24565 }
24566 }
24567
24568 return (*this);
24569 }

References disabled_inequality_set_, e_ineq_unknown, exprtk::details::inequality_ops_list, exprtk::details::inequality_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ enable_local_vardef()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_local_vardef ( )
inline

Definition at line 24170 of file exprtk.hpp.

24171 {
24172 disable_vardef_ = false;
24173 return (*this);
24174 }

References disable_vardef_, and settings_store().

Here is the call graph for this function:

◆ enable_logic_operation()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_logic_operation ( const settings_logic_opr logic)
inline

Definition at line 24499 of file exprtk.hpp.

24500 {
24501 if (
24502 (e_logic_unknown != logic) &&
24503 (static_cast<std::size_t>(logic) < (details::logic_ops_list_size + 1))
24504 )
24505 {
24507
24508 if (disabled_logic_set_.end() != itr)
24509 {
24510 disabled_logic_set_.erase(itr);
24511 }
24512 }
24513
24514 return (*this);
24515 }

References disabled_logic_set_, e_logic_unknown, logic(), exprtk::details::logic_ops_list, exprtk::details::logic_ops_list_size, and settings_store().

Here is the call graph for this function:

◆ enable_strength_reduction()

template<typename T>
settings_store & exprtk::parser< T >::settings_store::enable_strength_reduction ( )
inline

Definition at line 24182 of file exprtk.hpp.

24183 {
24185 return (*this);
24186 }

References enable_strength_reduction_, and settings_store().

Here is the call graph for this function:

◆ function_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::function_disabled ( const std::string & function_name) const
inline

Definition at line 24325 of file exprtk.hpp.

24326 {
24327 if (disabled_func_set_.empty())
24328 return false;
24329 else
24330 return (disabled_func_set_.end() != disabled_func_set_.find(function_name));
24331 }

References disabled_func_set_.

◆ function_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::function_enabled ( const std::string & function_name) const
inline

Definition at line 24274 of file exprtk.hpp.

24275 {
24276 if (disabled_func_set_.empty())
24277 return true;
24278 else
24279 return (disabled_func_set_.end() == disabled_func_set_.find(function_name));
24280 }

References disabled_func_set_.

◆ inequality_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::inequality_disabled ( const details::operator_type & inequality) const
inline

Definition at line 24376 of file exprtk.hpp.

24377 {
24378 if (disabled_inequality_set_.empty())
24379 return false;
24380 else
24383 }
std::string inequality_opr_to_string(details::operator_type opr) const
Definition exprtk.hpp:24658

References disabled_inequality_set_, and inequality_opr_to_string().

Here is the call graph for this function:

◆ inequality_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::inequality_enabled ( const details::operator_type & inequality) const
inline

Definition at line 24316 of file exprtk.hpp.

24317 {
24318 if (disabled_inequality_set_.empty())
24319 return true;
24320 else
24323 }

References disabled_inequality_set_, and inequality_opr_to_string().

Here is the call graph for this function:

◆ inequality_opr_to_string()

template<typename T>
std::string exprtk::parser< T >::settings_store::inequality_opr_to_string ( details::operator_type opr) const
inlineprivate

Definition at line 24658 of file exprtk.hpp.

24659 {
24660 switch (opr)
24661 {
24662 case details::e_lt : return "<" ;
24663 case details::e_lte : return "<=";
24664 case details::e_eq : return "==";
24665 case details::e_equal : return "=" ;
24666 case details::e_ne : return "!=";
24667 case details::e_nequal: return "<>";
24668 case details::e_gte : return ">=";
24669 case details::e_gt : return ">" ;
24670 default : return "" ;
24671 }
24672 }

References exprtk::details::e_eq, exprtk::details::e_equal, exprtk::details::e_gt, exprtk::details::e_gte, exprtk::details::e_lt, exprtk::details::e_lte, exprtk::details::e_ne, and exprtk::details::e_nequal.

Referenced by inequality_disabled(), and inequality_enabled().

Here is the caller graph for this function:

◆ joiner_enabled()

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

Definition at line 24262 of file exprtk.hpp.

References enable_joiner_.

◆ load_compile_options()

template<typename T>
void exprtk::parser< T >::settings_store::load_compile_options ( const std::size_t compile_options)
inlineprivate

Definition at line 24613 of file exprtk.hpp.

24614 {
24628 }

References disable_rsrvd_sym_usr_, disable_vardef_, disable_zero_return_, e_bracket_check, e_collect_assings, e_collect_funcs, e_collect_vars, e_commutative_check, e_disable_usr_on_rsrvd, e_disable_vardef, e_disable_zero_return, e_joiner, e_numeric_check, e_replacer, e_sequence_check, e_strength_reduction, enable_bracket_check_, enable_collect_assings_, enable_collect_funcs_, enable_collect_vars_, enable_commutative_check_, enable_joiner_, enable_numeric_check_, enable_replacer_, enable_sequence_check_, and enable_strength_reduction_.

Referenced by settings_store().

Here is the caller graph for this function:

◆ logic_disabled() [1/2]

template<typename T>
bool exprtk::parser< T >::settings_store::logic_disabled ( const details::operator_type logic_operation) const
inline

Definition at line 24358 of file exprtk.hpp.

24359 {
24360 if (disabled_logic_set_.empty())
24361 return false;
24362 else
24365 }
std::string logic_opr_to_string(details::operator_type opr) const
Definition exprtk.hpp:24674

References disabled_logic_set_, and logic_opr_to_string().

Here is the call graph for this function:

◆ logic_disabled() [2/2]

template<typename T>
bool exprtk::parser< T >::settings_store::logic_disabled ( const std::string & logic_operation) const
inline

Definition at line 24341 of file exprtk.hpp.

24342 {
24343 if (disabled_logic_set_.empty())
24344 return false;
24345 else
24347 }

References disabled_logic_set_.

◆ logic_enabled()

template<typename T>
bool exprtk::parser< T >::settings_store::logic_enabled ( const std::string & logic_operation) const
inline

Definition at line 24290 of file exprtk.hpp.

24291 {
24292 if (disabled_logic_set_.empty())
24293 return true;
24294 else
24296 }

References disabled_logic_set_.

◆ logic_opr_to_string()

template<typename T>
std::string exprtk::parser< T >::settings_store::logic_opr_to_string ( details::operator_type opr) const
inlineprivate

Definition at line 24674 of file exprtk.hpp.

24675 {
24676 switch (opr)
24677 {
24678 case details::e_and : return "and" ;
24679 case details::e_or : return "or" ;
24680 case details::e_xor : return "xor" ;
24681 case details::e_nand : return "nand";
24682 case details::e_nor : return "nor" ;
24683 case details::e_xnor : return "xnor";
24684 case details::e_notl : return "not" ;
24685 default : return "" ;
24686 }
24687 }

References exprtk::details::e_and, exprtk::details::e_nand, exprtk::details::e_nor, exprtk::details::e_notl, exprtk::details::e_or, exprtk::details::e_xnor, and exprtk::details::e_xor.

Referenced by logic_disabled().

Here is the caller graph for this function:

◆ max_local_vector_size()

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_local_vector_size ( ) const
inline

Definition at line 24601 of file exprtk.hpp.

24602 {
24604 }

References max_local_vector_size_.

Referenced by set_max_local_vector_size().

Here is the caller graph for this function:

◆ max_node_depth()

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_node_depth ( ) const
inline

Definition at line 24596 of file exprtk.hpp.

24597 {
24598 return max_node_depth_;
24599 }

References max_node_depth_.

Referenced by set_max_node_depth().

Here is the caller graph for this function:

◆ max_stack_depth()

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_stack_depth ( ) const
inline

Definition at line 24591 of file exprtk.hpp.

24592 {
24593 return max_stack_depth_;
24594 }

References max_stack_depth_.

Referenced by set_max_stack_depth().

Here is the caller graph for this function:

◆ max_total_local_symbol_size_bytes()

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_total_local_symbol_size_bytes ( ) const
inline

Definition at line 24606 of file exprtk.hpp.

24607 {
24609 }

References max_total_local_symbol_size_bytes_.

◆ numeric_check_enabled()

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

Definition at line 24263 of file exprtk.hpp.

24263{ return enable_numeric_check_; }

References enable_numeric_check_.

◆ replacer_enabled()

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

Definition at line 24260 of file exprtk.hpp.

24260{ return enable_replacer_; }

References enable_replacer_.

◆ rsrvd_sym_usr_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::rsrvd_sym_usr_disabled ( ) const
inline

Definition at line 24271 of file exprtk.hpp.

24271{ return disable_rsrvd_sym_usr_; }

References disable_rsrvd_sym_usr_.

◆ sequence_check_enabled()

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

Definition at line 24265 of file exprtk.hpp.

24265{ return enable_sequence_check_; }

References enable_sequence_check_.

◆ set_max_local_vector_size()

template<typename T>
void exprtk::parser< T >::settings_store::set_max_local_vector_size ( const std::size_t max_local_vector_size)
inline

Definition at line 24581 of file exprtk.hpp.

24582 {
24584 }
std::size_t max_local_vector_size() const
Definition exprtk.hpp:24601

References max_local_vector_size(), and max_local_vector_size_.

Here is the call graph for this function:

◆ set_max_node_depth()

template<typename T>
void exprtk::parser< T >::settings_store::set_max_node_depth ( const std::size_t max_node_depth)
inline

Definition at line 24576 of file exprtk.hpp.

24577 {
24579 }
std::size_t max_node_depth() const
Definition exprtk.hpp:24596

References max_node_depth(), and max_node_depth_.

Here is the call graph for this function:

◆ set_max_stack_depth()

template<typename T>
void exprtk::parser< T >::settings_store::set_max_stack_depth ( const std::size_t max_stack_depth)
inline

Definition at line 24571 of file exprtk.hpp.

24572 {
24574 }
std::size_t max_stack_depth() const
Definition exprtk.hpp:24591

References max_stack_depth(), and max_stack_depth_.

Here is the call graph for this function:

◆ set_max_total_local_symbol_size_bytes()

template<typename T>
void exprtk::parser< T >::settings_store::set_max_total_local_symbol_size_bytes ( const std::size_t max_total_lcl_symb_size)
inline

Definition at line 24586 of file exprtk.hpp.

References max_total_local_symbol_size_bytes_.

◆ strength_reduction_enabled()

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

Definition at line 24266 of file exprtk.hpp.

References enable_strength_reduction_.

◆ vardef_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::vardef_disabled ( ) const
inline

Definition at line 24270 of file exprtk.hpp.

24270{ return disable_vardef_; }

References disable_vardef_.

◆ zero_return_disabled()

template<typename T>
bool exprtk::parser< T >::settings_store::zero_return_disabled ( ) const
inline

Definition at line 24272 of file exprtk.hpp.

24272{ return disable_zero_return_; }

References disable_zero_return_.

◆ parser< T >

template<typename T>
friend class parser< T >
friend

Definition at line 24713 of file exprtk.hpp.

Member Data Documentation

◆ default_compile_all_opts

template<typename T>
const std::size_t exprtk::parser< T >::settings_store::default_compile_all_opts
static

◆ disable_rsrvd_sym_usr_

template<typename T>
bool exprtk::parser< T >::settings_store::disable_rsrvd_sym_usr_
private

Definition at line 24700 of file exprtk.hpp.

Referenced by load_compile_options(), and rsrvd_sym_usr_disabled().

◆ disable_vardef_

template<typename T>
bool exprtk::parser< T >::settings_store::disable_vardef_
private

◆ disable_zero_return_

template<typename T>
bool exprtk::parser< T >::settings_store::disable_zero_return_
private

Definition at line 24701 of file exprtk.hpp.

Referenced by load_compile_options(), and zero_return_disabled().

◆ disabled_arithmetic_set_

template<typename T>
disabled_entity_set_t exprtk::parser< T >::settings_store::disabled_arithmetic_set_
private

◆ disabled_assignment_set_

template<typename T>
disabled_entity_set_t exprtk::parser< T >::settings_store::disabled_assignment_set_
private

◆ disabled_ctrl_set_

◆ disabled_func_set_

template<typename T>
disabled_entity_set_t exprtk::parser< T >::settings_store::disabled_func_set_
private

◆ disabled_inequality_set_

template<typename T>
disabled_entity_set_t exprtk::parser< T >::settings_store::disabled_inequality_set_
private

◆ disabled_logic_set_

template<typename T>
disabled_entity_set_t exprtk::parser< T >::settings_store::disabled_logic_set_
private

◆ enable_bracket_check_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_bracket_check_
private

Definition at line 24692 of file exprtk.hpp.

Referenced by bracket_check_enabled(), and load_compile_options().

◆ enable_collect_assings_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_collect_assings_
private

Definition at line 24698 of file exprtk.hpp.

Referenced by collect_assignments_enabled(), and load_compile_options().

◆ enable_collect_funcs_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_collect_funcs_
private

Definition at line 24697 of file exprtk.hpp.

Referenced by collect_functions_enabled(), and load_compile_options().

◆ enable_collect_vars_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_collect_vars_
private

Definition at line 24696 of file exprtk.hpp.

Referenced by collect_variables_enabled(), and load_compile_options().

◆ enable_commutative_check_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_commutative_check_
private

◆ enable_joiner_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_joiner_
private

Definition at line 24690 of file exprtk.hpp.

Referenced by joiner_enabled(), and load_compile_options().

◆ enable_numeric_check_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_numeric_check_
private

Definition at line 24691 of file exprtk.hpp.

Referenced by load_compile_options(), and numeric_check_enabled().

◆ enable_replacer_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_replacer_
private

Definition at line 24689 of file exprtk.hpp.

Referenced by load_compile_options(), and replacer_enabled().

◆ enable_sequence_check_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_sequence_check_
private

Definition at line 24693 of file exprtk.hpp.

Referenced by load_compile_options(), and sequence_check_enabled().

◆ enable_strength_reduction_

template<typename T>
bool exprtk::parser< T >::settings_store::enable_strength_reduction_
private

◆ max_local_vector_size_

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_local_vector_size_
private

Definition at line 24713 of file exprtk.hpp.

Referenced by max_local_vector_size(), set_max_local_vector_size(), and settings_store().

◆ max_node_depth_

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_node_depth_
private

Definition at line 24711 of file exprtk.hpp.

Referenced by max_node_depth(), set_max_node_depth(), and settings_store().

◆ max_stack_depth_

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_stack_depth_
private

Definition at line 24710 of file exprtk.hpp.

Referenced by max_stack_depth(), set_max_stack_depth(), and settings_store().

◆ max_total_local_symbol_size_bytes_

template<typename T>
std::size_t exprtk::parser< T >::settings_store::max_total_local_symbol_size_bytes_
private

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