|
C++ Mathematical Expression Toolkit (ExprTk) release
|
Public Types | |
| typedef expression_node_t * | expression_node_ptr |
| typedef variable_node_t * | variable_node_ptr |
| typedef parser< T > | parser_t |
Public Member Functions | |
| scope_element_manager (parser< T > &p) | |
| std::size_t | size () const |
| bool | empty () const |
| scope_element & | get_element (const std::size_t &index) |
| scope_element & | get_element (const std::string &var_name, const std::size_t index=std::numeric_limits< std::size_t >::max()) |
| scope_element & | get_active_element (const std::string &var_name, const std::size_t index=std::numeric_limits< std::size_t >::max()) |
| bool | add_element (const scope_element &se) |
| void | deactivate (const std::size_t &scope_depth) |
| void | free_element (scope_element &se) |
| void | cleanup () |
| std::size_t | total_local_symb_size_bytes () const |
| std::size_t | next_ip_index () |
| expression_node_ptr | get_variable (const T &v) |
| std::string | get_vector_name (const T *data) |
Private Member Functions | |
| scope_element_manager (const scope_element_manager &) | |
| scope_element_manager & | operator= (const scope_element_manager &) |
Private Attributes | |
| parser_t & | parser_ |
| std::vector< scope_element > | element_ |
| scope_element | null_element_ |
| std::size_t | input_param_cnt_ |
| std::size_t | total_local_symb_size_bytes_ |
Definition at line 22661 of file exprtk.hpp.
| typedef expression_node_t* exprtk::parser< T >::scope_element_manager::expression_node_ptr |
Definition at line 22665 of file exprtk.hpp.
| typedef parser<T> exprtk::parser< T >::scope_element_manager::parser_t |
Definition at line 22667 of file exprtk.hpp.
| typedef variable_node_t* exprtk::parser< T >::scope_element_manager::variable_node_ptr |
Definition at line 22666 of file exprtk.hpp.
|
inlineexplicit |
Definition at line 22669 of file exprtk.hpp.
|
private |
|
inline |
Definition at line 22736 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::active, exprtk::parser< T >::scope_element::depth, exprtk::parser< T >::scope_element::e_literal, exprtk::parser< T >::scope_element::e_variable, exprtk::parser< T >::scope_element::e_vector, exprtk::parser< T >::scope_element_manager::element_, exprtk::details::imatch(), exprtk::parser< T >::scope_element::index, exprtk::parser< T >::scope_element::name, exprtk::parser< T >::scope_element::size, exprtk::parser< T >::scope_element_manager::total_local_symb_size_bytes_, and exprtk::parser< T >::scope_element::type.
Referenced by exprtk::parser< T >::parse_define_constvar_statement(), exprtk::parser< T >::parse_define_string_statement(), exprtk::parser< T >::parse_define_var_statement(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_for_loop(), exprtk::parser< T >::parse_uninitialised_var_statement(), and exprtk::parser< T >::expression_generator< Type >::vector_element().
|
inline |
Definition at line 22826 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_, exprtk::parser< T >::scope_element_manager::free_element(), exprtk::parser< T >::scope_element_manager::input_param_cnt_, and exprtk::parser< T >::scope_element_manager::total_local_symb_size_bytes_.
Referenced by exprtk::parser< T >::compile().
|
inline |
Definition at line 22773 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::active, exprtk::parser< T >::scope_element::depth, exprtk::parser< T >::scope_element_manager::element_, exprtk_debug, exprtk::parser< T >::scope_element::name, exprtk::parser< T >::scope_element_manager::parser_, exprtk::parser< T >::parser_state::scope_depth, and exprtk::parser< T >::state_.
Referenced by exprtk::parser< T >::scope_handler::~scope_handler().
|
inline |
Definition at line 22680 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_.
Referenced by exprtk::parser< T >::parse_symbol(), and exprtk::parser< T >::parse_symtab_symbol().
|
inline |
Definition at line 22793 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::clear(), exprtk::parser< T >::scope_element::data, exprtk::parser< T >::scope_element::e_literal, exprtk::parser< T >::scope_element::e_string, exprtk::parser< T >::scope_element::e_variable, exprtk::parser< T >::scope_element::e_vecelem, exprtk::parser< T >::scope_element::e_vector, exprtk_debug, exprtk::parser< T >::scope_element::name, exprtk::parser< T >::scope_element::str_node, exprtk::parser< T >::scope_element::type, exprtk::parser< T >::scope_element::var_node, and exprtk::parser< T >::scope_element::vec_node.
Referenced by exprtk::parser< T >::scope_element_manager::cleanup(), exprtk::parser< T >::parse_define_constvar_statement(), exprtk::parser< T >::parse_define_string_statement(), exprtk::parser< T >::parse_define_var_statement(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_for_loop(), exprtk::parser< T >::parse_uninitialised_var_statement(), and exprtk::parser< T >::expression_generator< Type >::vector_element().
|
inline |
Definition at line 22714 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::active, exprtk::parser< T >::scope_element::depth, exprtk::parser< T >::scope_element_manager::element_, exprtk::details::imatch(), exprtk::parser< T >::scope_element::index, exprtk::parser< T >::scope_element::name, exprtk::parser< T >::scope_element_manager::null_element_, exprtk::parser< T >::scope_element_manager::parser_, exprtk::parser< T >::parser_state::scope_depth, and exprtk::parser< T >::state_.
Referenced by exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_string(), exprtk::parser< T >::parse_symtab_symbol(), and exprtk::parser< T >::parse_vector().
|
inline |
Definition at line 22685 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_, and exprtk::parser< T >::scope_element_manager::null_element_.
Referenced by exprtk::parser< T >::local_variable_is_shadowed(), exprtk::parser< T >::parse_define_constvar_statement(), exprtk::parser< T >::parse_define_string_statement(), exprtk::parser< T >::parse_define_var_statement(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_for_loop(), exprtk::parser< T >::parse_swap_statement(), exprtk::parser< T >::parse_uninitialised_var_statement(), exprtk::parser< T >::register_local_vars(), and exprtk::parser< T >::expression_generator< Type >::vector_element().
|
inline |
Definition at line 22693 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::depth, exprtk::parser< T >::scope_element_manager::element_, exprtk::details::imatch(), exprtk::parser< T >::scope_element::index, exprtk::parser< T >::scope_element::name, exprtk::parser< T >::scope_element_manager::null_element_, exprtk::parser< T >::scope_element_manager::parser_, exprtk::parser< T >::parser_state::scope_depth, and exprtk::parser< T >::state_.
|
inline |
Definition at line 22849 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::active, exprtk::parser< T >::scope_element_manager::element_, exprtk::details::is_variable_node(), exprtk::details::variable_node< T >::ref(), and exprtk::parser< T >::scope_element::var_node.
Referenced by exprtk::parser< T >::simplify_unary_negation_branch().
|
inline |
Definition at line 22873 of file exprtk.hpp.
References exprtk::parser< T >::scope_element::active, exprtk::details::vector_holder< Type >::data(), exprtk::parser< T >::scope_element_manager::element_, exprtk::parser< T >::scope_element::name, and exprtk::parser< T >::scope_element::vec_node.
Referenced by exprtk::parser< T >::parse_pending_vector_index_operator().
|
inline |
Definition at line 22844 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::input_param_cnt_.
Referenced by exprtk::parser< T >::parse_uninitialised_var_statement().
|
private |
|
inline |
Definition at line 22675 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_.
Referenced by exprtk::parser< T >::register_local_vars().
|
inline |
Definition at line 22839 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::total_local_symb_size_bytes_.
Referenced by exprtk::parser< T >::parse_define_constvar_statement(), exprtk::parser< T >::parse_define_string_statement(), exprtk::parser< T >::parse_define_var_statement(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_uninitialised_var_statement(), exprtk::parser< T >::total_local_symbol_size_bytes(), and exprtk::parser< T >::expression_generator< Type >::vector_element().
|
private |
Definition at line 22898 of file exprtk.hpp.
Referenced by exprtk::parser< T >::scope_element_manager::add_element(), exprtk::parser< T >::scope_element_manager::cleanup(), exprtk::parser< T >::scope_element_manager::deactivate(), exprtk::parser< T >::scope_element_manager::empty(), exprtk::parser< T >::scope_element_manager::get_active_element(), exprtk::parser< T >::scope_element_manager::get_element(), exprtk::parser< T >::scope_element_manager::get_element(), exprtk::parser< T >::scope_element_manager::get_variable(), exprtk::parser< T >::scope_element_manager::get_vector_name(), and exprtk::parser< T >::scope_element_manager::size().
|
private |
Definition at line 22900 of file exprtk.hpp.
Referenced by exprtk::parser< T >::scope_element_manager::cleanup(), and exprtk::parser< T >::scope_element_manager::next_ip_index().
|
private |
Definition at line 22899 of file exprtk.hpp.
Referenced by exprtk::parser< T >::scope_element_manager::get_active_element(), exprtk::parser< T >::scope_element_manager::get_element(), and exprtk::parser< T >::scope_element_manager::get_element().
|
private |
Definition at line 22897 of file exprtk.hpp.
Referenced by exprtk::parser< T >::scope_element_manager::deactivate(), exprtk::parser< T >::scope_element_manager::get_active_element(), and exprtk::parser< T >::scope_element_manager::get_element().
|
private |
Definition at line 22901 of file exprtk.hpp.
Referenced by exprtk::parser< T >::scope_element_manager::add_element(), exprtk::parser< T >::scope_element_manager::cleanup(), and exprtk::parser< T >::scope_element_manager::total_local_symb_size_bytes().