RayZaler 0.1
The free opto-mechanical simulation framework
exprtk::parser< T >::settings_store Class Reference

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=compile_all_opts)
 
settings_storeenable_all_base_functions ()
 
settings_storeenable_all_control_structures ()
 
settings_storeenable_all_logic_ops ()
 
settings_storeenable_all_arithmetic_ops ()
 
settings_storeenable_all_assignment_ops ()
 
settings_storeenable_all_inequality_ops ()
 
settings_storeenable_local_vardef ()
 
settings_storedisable_all_base_functions ()
 
settings_storedisable_all_control_structures ()
 
settings_storedisable_all_logic_ops ()
 
settings_storedisable_all_arithmetic_ops ()
 
settings_storedisable_all_assignment_ops ()
 
settings_storedisable_all_inequality_ops ()
 
settings_storedisable_local_vardef ()
 
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_storedisable_base_function (settings_base_funcs bf)
 
settings_storedisable_control_structure (settings_control_structs ctrl_struct)
 
settings_storedisable_logic_operation (settings_logic_opr logic)
 
settings_storedisable_arithmetic_operation (settings_arithmetic_opr arithmetic)
 
settings_storedisable_assignment_operation (settings_assignment_opr assignment)
 
settings_storedisable_inequality_operation (settings_inequality_opr inequality)
 
settings_storeenable_base_function (settings_base_funcs bf)
 
settings_storeenable_control_structure (settings_control_structs ctrl_struct)
 
settings_storeenable_logic_operation (settings_logic_opr logic)
 
settings_storeenable_arithmetic_operation (settings_arithmetic_opr arithmetic)
 
settings_storeenable_assignment_operation (settings_assignment_opr assignment)
 
settings_storeenable_inequality_operation (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)
 

Static Public Attributes

static const std::size_t compile_all_opts
 

Friends

class parser< T >
 

Member Data Documentation

◆ compile_all_opts

template<typename T >
const std::size_t exprtk::parser< T >::settings_store::compile_all_opts
static
Initial value:
=
e_replacer +
e_joiner +
e_numeric_check +
e_bracket_check +
e_sequence_check +
e_commutative_check +
e_strength_reduction

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