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 | 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_ |
Definition at line 22396 of file exprtk.hpp.
typedef expression_node_t* exprtk::parser< T >::scope_element_manager::expression_node_ptr |
Definition at line 22400 of file exprtk.hpp.
typedef parser<T> exprtk::parser< T >::scope_element_manager::parser_t |
Definition at line 22402 of file exprtk.hpp.
typedef variable_node_t* exprtk::parser< T >::scope_element_manager::variable_node_ptr |
Definition at line 22401 of file exprtk.hpp.
|
inlineexplicit |
Definition at line 22404 of file exprtk.hpp.
|
private |
|
inline |
Definition at line 22470 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::size, 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 22546 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_, exprtk::parser< T >::scope_element_manager::free_element(), and exprtk::parser< T >::scope_element_manager::input_param_cnt_.
Referenced by exprtk::parser< T >::compile().
|
inline |
Definition at line 22493 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 22414 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 22513 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 22448 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 22419 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 22427 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 22563 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 22587 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 22558 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 22409 of file exprtk.hpp.
References exprtk::parser< T >::scope_element_manager::element_.
Referenced by exprtk::parser< T >::register_local_vars().
|
private |
Definition at line 22612 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 22614 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 22613 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 22611 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().