PulseView  unreleased development snapshot
A Qt-based sigrok GUI
exprtk::parser< T >::settings_store Class Reference

#include <exprtk.hpp>

Collaboration diagram for exprtk::parser< T >::settings_store:

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)
 

Static Public Attributes

static const std::size_t compile_all_opts
 

Private Types

typedef std::set< std::string, details::ilesscomparedisabled_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_
 

Friends

class parser< T >
 

Detailed Description

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

Definition at line 19454 of file exprtk.hpp.

Member Typedef Documentation

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

Definition at line 19459 of file exprtk.hpp.

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

Definition at line 19458 of file exprtk.hpp.

Member Enumeration Documentation

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

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

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

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

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

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

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

Constructor & Destructor Documentation

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

Definition at line 19550 of file exprtk.hpp.

Member Function Documentation

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

Definition at line 20001 of file exprtk.hpp.

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

Definition at line 19764 of file exprtk.hpp.

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

Definition at line 19695 of file exprtk.hpp.

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

Definition at line 19987 of file exprtk.hpp.

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

Definition at line 19746 of file exprtk.hpp.

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

Definition at line 19704 of file exprtk.hpp.

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

Definition at line 19661 of file exprtk.hpp.

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

Definition at line 19666 of file exprtk.hpp.

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

Definition at line 19665 of file exprtk.hpp.

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

Definition at line 19664 of file exprtk.hpp.

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

Definition at line 19658 of file exprtk.hpp.

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

Definition at line 19730 of file exprtk.hpp.

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

Definition at line 19679 of file exprtk.hpp.

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

Definition at line 19624 of file exprtk.hpp.

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

Definition at line 19633 of file exprtk.hpp.

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

Definition at line 19597 of file exprtk.hpp.

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

Definition at line 19606 of file exprtk.hpp.

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

Definition at line 19642 of file exprtk.hpp.

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

Definition at line 19615 of file exprtk.hpp.

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

Definition at line 19821 of file exprtk.hpp.

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

Definition at line 19834 of file exprtk.hpp.

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

Definition at line 19782 of file exprtk.hpp.

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

Definition at line 19795 of file exprtk.hpp.

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

Definition at line 19847 of file exprtk.hpp.

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

Definition at line 19651 of file exprtk.hpp.

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

Definition at line 19808 of file exprtk.hpp.

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

Definition at line 19573 of file exprtk.hpp.

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

Definition at line 19579 of file exprtk.hpp.

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

Definition at line 19555 of file exprtk.hpp.

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

Definition at line 19561 of file exprtk.hpp.

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

Definition at line 19585 of file exprtk.hpp.

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

Definition at line 19567 of file exprtk.hpp.

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

Definition at line 19914 of file exprtk.hpp.

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

Definition at line 19932 of file exprtk.hpp.

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

Definition at line 19860 of file exprtk.hpp.

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

Definition at line 19878 of file exprtk.hpp.

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

Definition at line 19950 of file exprtk.hpp.

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

Definition at line 19591 of file exprtk.hpp.

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

Definition at line 19896 of file exprtk.hpp.

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

Definition at line 19722 of file exprtk.hpp.

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

Definition at line 19671 of file exprtk.hpp.

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

Definition at line 19773 of file exprtk.hpp.

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

Definition at line 19713 of file exprtk.hpp.

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

Definition at line 20014 of file exprtk.hpp.

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

Definition at line 19659 of file exprtk.hpp.

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

Definition at line 19970 of file exprtk.hpp.

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

Definition at line 19738 of file exprtk.hpp.

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

Definition at line 19755 of file exprtk.hpp.

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

Definition at line 19687 of file exprtk.hpp.

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

Definition at line 20030 of file exprtk.hpp.

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

Definition at line 19660 of file exprtk.hpp.

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

Definition at line 19657 of file exprtk.hpp.

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

Definition at line 19668 of file exprtk.hpp.

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

Definition at line 19662 of file exprtk.hpp.

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

Definition at line 19663 of file exprtk.hpp.

Here is the caller graph for this function:

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

Definition at line 19667 of file exprtk.hpp.

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

Definition at line 19669 of file exprtk.hpp.

Friends And Related Function Documentation

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

Definition at line 20066 of file exprtk.hpp.

Member Data Documentation

template<typename T>
const std::size_t exprtk::parser< T >::settings_store::compile_all_opts
static
template<typename T>
bool exprtk::parser< T >::settings_store::disable_rsrvd_sym_usr_
private

Definition at line 20056 of file exprtk.hpp.

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

Definition at line 20055 of file exprtk.hpp.

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

Definition at line 20057 of file exprtk.hpp.

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

Definition at line 20062 of file exprtk.hpp.

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

Definition at line 20063 of file exprtk.hpp.

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

Definition at line 20060 of file exprtk.hpp.

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

Definition at line 20059 of file exprtk.hpp.

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

Definition at line 20064 of file exprtk.hpp.

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

Definition at line 20061 of file exprtk.hpp.

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

Definition at line 20048 of file exprtk.hpp.

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

Definition at line 20054 of file exprtk.hpp.

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

Definition at line 20053 of file exprtk.hpp.

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

Definition at line 20052 of file exprtk.hpp.

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

Definition at line 20050 of file exprtk.hpp.

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

Definition at line 20046 of file exprtk.hpp.

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

Definition at line 20047 of file exprtk.hpp.

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

Definition at line 20045 of file exprtk.hpp.

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

Definition at line 20049 of file exprtk.hpp.

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

Definition at line 20051 of file exprtk.hpp.


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