C++ Mathematical Expression Toolkit (ExprTk) release
|
#include <exprtk.hpp>
Classes | |
struct | control_block |
struct | freefunc00 |
struct | freefunc01 |
struct | freefunc02 |
struct | freefunc03 |
struct | freefunc04 |
struct | freefunc05 |
struct | freefunc06 |
struct | freefunc07 |
struct | freefunc08 |
struct | freefunc09 |
struct | freefunc10 |
struct | freefunc11 |
struct | freefunc12 |
struct | freefunc13 |
struct | freefunc14 |
struct | freefunc15 |
struct | type_store |
Public Types | |
enum | symtab_mutability_type { e_unknown = 0 , e_mutable = 1 , e_immutable = 2 } |
typedef T(* | ff00_functor) () |
typedef T(* | ff01_functor) (T) |
typedef T(* | ff02_functor) (T, T) |
typedef T(* | ff03_functor) (T, T, T) |
typedef T(* | ff04_functor) (T, T, T, T) |
typedef T(* | ff05_functor) (T, T, T, T, T) |
typedef T(* | ff06_functor) (T, T, T, T, T, T) |
typedef T(* | ff07_functor) (T, T, T, T, T, T, T) |
typedef T(* | ff08_functor) (T, T, T, T, T, T, T, T) |
typedef T(* | ff09_functor) (T, T, T, T, T, T, T, T, T) |
typedef T(* | ff10_functor) (T, T, T, T, T, T, T, T, T, T) |
typedef T(* | ff11_functor) (T, T, T, T, T, T, T, T, T, T, T) |
typedef T(* | ff12_functor) (T, T, T, T, T, T, T, T, T, T, T, T) |
typedef T(* | ff13_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T) |
typedef T(* | ff14_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T, T) |
typedef T(* | ff15_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) |
typedef vector_holder_t * | vector_holder_ptr |
Public Member Functions | |
symbol_table (const symtab_mutability_type mutability=e_mutable) | |
~symbol_table () | |
symbol_table (const symbol_table< T > &st) | |
symbol_table< T > & | operator= (const symbol_table< T > &st) |
bool | operator== (const symbol_table< T > &st) const |
symtab_mutability_type | mutability () const |
void | clear_variables (const bool delete_node=true) |
void | clear_functions () |
void | clear_strings () |
void | clear_vectors () |
void | clear_local_constants () |
void | clear () |
std::size_t | variable_count () const |
std::size_t | stringvar_count () const |
std::size_t | function_count () const |
std::size_t | vector_count () const |
variable_ptr | get_variable (const std::string &variable_name) const |
variable_ptr | get_variable (const T &var_ref) const |
stringvar_ptr | get_stringvar (const std::string &string_name) const |
stringvar_base< T > | get_stringvar_base (const std::string &string_name) const |
function_ptr | get_function (const std::string &function_name) const |
vararg_function_ptr | get_vararg_function (const std::string &vararg_function_name) const |
generic_function_ptr | get_generic_function (const std::string &function_name) const |
generic_function_ptr | get_string_function (const std::string &function_name) const |
generic_function_ptr | get_overload_function (const std::string &function_name) const |
vector_holder_ptr | get_vector (const std::string &vector_name) const |
T & | variable_ref (const std::string &symbol_name) |
std::string & | stringvar_ref (const std::string &symbol_name) |
bool | is_constant_node (const std::string &symbol_name) const |
bool | is_constant_string (const std::string &symbol_name) const |
bool | create_variable (const std::string &variable_name, const T &value=T(0)) |
bool | create_stringvar (const std::string &stringvar_name, const std::string &value=std::string("")) |
bool | add_variable (const std::string &variable_name, T &t, const bool is_constant=false) |
bool | add_constant (const std::string &constant_name, const T &value) |
bool | add_stringvar (const std::string &stringvar_name, std::string &s, const bool is_constant=false) |
bool | add_function (const std::string &function_name, function_t &function) |
bool | add_function (const std::string &vararg_function_name, vararg_function_t &vararg_function) |
bool | add_function (const std::string &function_name, generic_function_t &function) |
bool | add_function (const std::string &function_name, ff00_functor function) |
bool | add_function (const std::string &function_name, ff01_functor function) |
bool | add_function (const std::string &function_name, ff02_functor function) |
bool | add_function (const std::string &function_name, ff03_functor function) |
bool | add_function (const std::string &function_name, ff04_functor function) |
bool | add_function (const std::string &function_name, ff05_functor function) |
bool | add_function (const std::string &function_name, ff06_functor function) |
bool | add_function (const std::string &function_name, ff07_functor function) |
bool | add_function (const std::string &function_name, ff08_functor function) |
bool | add_function (const std::string &function_name, ff09_functor function) |
bool | add_function (const std::string &function_name, ff10_functor function) |
bool | add_function (const std::string &function_name, ff11_functor function) |
bool | add_function (const std::string &function_name, ff12_functor function) |
bool | add_function (const std::string &function_name, ff13_functor function) |
bool | add_function (const std::string &function_name, ff14_functor function) |
bool | add_function (const std::string &function_name, ff15_functor function) |
bool | add_reserved_function (const std::string &function_name, function_t &function) |
bool | add_reserved_function (const std::string &vararg_function_name, vararg_function_t &vararg_function) |
bool | add_reserved_function (const std::string &function_name, generic_function_t &function) |
template<std::size_t N> | |
bool | add_vector (const std::string &vector_name, T(&v)[N]) |
bool | add_vector (const std::string &vector_name, T *v, const std::size_t &v_size) |
template<typename Allocator > | |
bool | add_vector (const std::string &vector_name, std::vector< T, Allocator > &v) |
bool | add_vector (const std::string &vector_name, exprtk::vector_view< T > &v) |
bool | remove_variable (const std::string &variable_name, const bool delete_node=true) |
bool | remove_stringvar (const std::string &string_name) |
bool | remove_function (const std::string &function_name) |
bool | remove_vararg_function (const std::string &vararg_function_name) |
bool | remove_vector (const std::string &vector_name) |
bool | add_constants () |
bool | add_pi () |
bool | add_epsilon () |
bool | add_infinity () |
template<typename Package > | |
bool | add_package (Package &package) |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_variable_list (Sequence< std::pair< std::string, T >, Allocator > &vlist) const |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_variable_list (Sequence< std::string, Allocator > &vlist) const |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_stringvar_list (Sequence< std::pair< std::string, std::string >, Allocator > &svlist) const |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_stringvar_list (Sequence< std::string, Allocator > &svlist) const |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_vector_list (Sequence< std::string, Allocator > &vec_list) const |
template<typename Allocator , template< typename, typename > class Sequence> | |
std::size_t | get_function_list (Sequence< std::string, Allocator > &function_list) const |
bool | symbol_exists (const std::string &symbol_name, const bool check_reserved_symb=true) const |
bool | is_variable (const std::string &variable_name) const |
bool | is_stringvar (const std::string &stringvar_name) const |
bool | is_conststr_stringvar (const std::string &symbol_name) const |
bool | is_function (const std::string &function_name) const |
bool | is_vararg_function (const std::string &vararg_function_name) const |
bool | is_vector (const std::string &vector_name) const |
std::string | get_variable_name (const expression_ptr &ptr) const |
std::string | get_vector_name (const vector_holder_ptr &ptr) const |
std::string | get_stringvar_name (const expression_ptr &ptr) const |
std::string | get_conststr_stringvar_name (const expression_ptr &ptr) const |
bool | valid () const |
void | load_from (const symbol_table< T > &st) |
void | load_variables_from (const symbol_table< T > &st) |
void | load_vectors_from (const symbol_table< T > &st) |
Protected Types | |
typedef details::expression_node< T > * | expression_ptr |
typedef details::variable_node< T > | variable_t |
typedef details::vector_holder< T > | vector_holder_t |
typedef variable_t * | variable_ptr |
typedef details::stringvar_node< T > | stringvar_t |
typedef stringvar_t * | stringvar_ptr |
typedef ifunction< T > | function_t |
typedef ivararg_function< T > | vararg_function_t |
typedef igeneric_function< T > | generic_function_t |
typedef function_t * | function_ptr |
typedef vararg_function_t * | vararg_function_ptr |
typedef generic_function_t * | generic_function_ptr |
Static Protected Attributes | |
static const std::size_t | lut_size = 256 |
Private Types | |
typedef control_block::st_data | local_data_t |
Private Member Functions | |
bool | valid_symbol (const std::string &symbol, const bool check_reserved_symb=true) const |
bool | valid_function (const std::string &symbol) const |
local_data_t & | local_data () |
const local_data_t & | local_data () const |
Private Attributes | |
control_block * | control_block_ |
Friends | |
class | parser< T > |
Definition at line 19060 of file exprtk.hpp.
|
protected |
Definition at line 19649 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff00_functor) () |
Definition at line 19071 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff01_functor) (T) |
Definition at line 19072 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff02_functor) (T, T) |
Definition at line 19073 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff03_functor) (T, T, T) |
Definition at line 19074 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff04_functor) (T, T, T, T) |
Definition at line 19075 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff05_functor) (T, T, T, T, T) |
Definition at line 19076 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff06_functor) (T, T, T, T, T, T) |
Definition at line 19077 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff07_functor) (T, T, T, T, T, T, T) |
Definition at line 19078 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff08_functor) (T, T, T, T, T, T, T, T) |
Definition at line 19079 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff09_functor) (T, T, T, T, T, T, T, T, T) |
Definition at line 19080 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff10_functor) (T, T, T, T, T, T, T, T, T, T) |
Definition at line 19081 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff11_functor) (T, T, T, T, T, T, T, T, T, T, T) |
Definition at line 19082 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff12_functor) (T, T, T, T, T, T, T, T, T, T, T, T) |
Definition at line 19083 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff13_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T) |
Definition at line 19084 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff14_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T, T) |
Definition at line 19085 of file exprtk.hpp.
typedef T(* exprtk::symbol_table< T >::ff15_functor) (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) |
Definition at line 19086 of file exprtk.hpp.
|
protected |
Definition at line 19660 of file exprtk.hpp.
|
protected |
Definition at line 19657 of file exprtk.hpp.
|
protected |
Definition at line 19662 of file exprtk.hpp.
|
protected |
Definition at line 19659 of file exprtk.hpp.
|
private |
Definition at line 20746 of file exprtk.hpp.
|
protected |
Definition at line 19655 of file exprtk.hpp.
|
protected |
Definition at line 19654 of file exprtk.hpp.
|
protected |
Definition at line 19661 of file exprtk.hpp.
|
protected |
Definition at line 19658 of file exprtk.hpp.
|
protected |
Definition at line 19652 of file exprtk.hpp.
|
protected |
Definition at line 19650 of file exprtk.hpp.
typedef vector_holder_t* exprtk::symbol_table< T >::vector_holder_ptr |
Definition at line 19994 of file exprtk.hpp.
|
protected |
Definition at line 19651 of file exprtk.hpp.
enum exprtk::symbol_table::symtab_mutability_type |
Enumerator | |
---|---|
e_unknown | |
e_mutable | |
e_immutable |
Definition at line 19064 of file exprtk.hpp.
|
inlineexplicit |
Definition at line 19782 of file exprtk.hpp.
|
inline |
Definition at line 19789 of file exprtk.hpp.
References exprtk::details::dump_ptr().
|
inline |
Definition at line 19795 of file exprtk.hpp.
References exprtk::symbol_table< T >::control_block_, and exprtk::symbol_table< T >::control_block::ref_count.
|
inline |
Definition at line 20098 of file exprtk.hpp.
Referenced by exprtk::compute(), exprtk::compute(), exprtk::compute(), exprtk::parser< T >::parse_symtab_symbol(), my_usr_ext< T >::process(), and expression_processor< T >::setup_symbol_table().
|
inline |
Definition at line 20359 of file exprtk.hpp.
Referenced by exprtk::function_compositor< T >::compile_expression(), exprtk::compute(), exprtk::compute(), exprtk::compute(), exprtk::compute(), main(), main(), run_test04(), run_test05(), run_test09(), run_test10(), run_test14(), run_test15(), run_test16(), run_test17(), run_test18(), run_test20(), expression_processor< T >::setup_symbol_table(), test_expression(), and test_gen().
|
inline |
Definition at line 20373 of file exprtk.hpp.
|
inline |
Definition at line 20197 of file exprtk.hpp.
|
inline |
Definition at line 20197 of file exprtk.hpp.
|
inline |
Definition at line 20198 of file exprtk.hpp.
|
inline |
Definition at line 20198 of file exprtk.hpp.
|
inline |
Definition at line 20199 of file exprtk.hpp.
|
inline |
Definition at line 20199 of file exprtk.hpp.
|
inline |
Definition at line 20200 of file exprtk.hpp.
|
inline |
Definition at line 20200 of file exprtk.hpp.
|
inline |
Definition at line 20201 of file exprtk.hpp.
|
inline |
Definition at line 20201 of file exprtk.hpp.
|
inline |
Definition at line 20202 of file exprtk.hpp.
|
inline |
Definition at line 20202 of file exprtk.hpp.
|
inline |
Definition at line 20203 of file exprtk.hpp.
|
inline |
Definition at line 20203 of file exprtk.hpp.
|
inline |
Definition at line 20204 of file exprtk.hpp.
|
inline |
Definition at line 20204 of file exprtk.hpp.
|
inline |
Definition at line 20127 of file exprtk.hpp.
Referenced by extract_expression_dependents(), exprtk::function_compositor< T >::forward(), my_usr_ext< T >::process(), run_test09(), run_test10(), run_test12(), run_test14(), run_test16(), run_test18(), test_expression(), and test_gen().
|
inline |
Definition at line 20151 of file exprtk.hpp.
References exprtk::igeneric_function< T >::parameter_sequence, and exprtk::igeneric_function< T >::rtrn_type.
|
inline |
Definition at line 20139 of file exprtk.hpp.
|
inline |
Definition at line 20379 of file exprtk.hpp.
|
inline |
Definition at line 20386 of file exprtk.hpp.
Referenced by run_test14().
|
inline |
Definition at line 20366 of file exprtk.hpp.
Referenced by run_test10().
|
inline |
Definition at line 20208 of file exprtk.hpp.
|
inline |
Definition at line 20232 of file exprtk.hpp.
References exprtk::igeneric_function< T >::parameter_sequence, and exprtk::igeneric_function< T >::rtrn_type.
|
inline |
Definition at line 20220 of file exprtk.hpp.
|
inline |
Definition at line 20114 of file exprtk.hpp.
Referenced by run_test02(), run_test10(), and run_test18().
|
inline |
Definition at line 20086 of file exprtk.hpp.
Referenced by main(), main(), run_test01(), run_test02(), run_test04(), run_test05(), run_test06(), run_test07(), run_test08(), run_test09(), run_test10(), run_test11(), run_test12(), run_test14(), run_test15(), run_test16(), run_test17(), run_test18(), run_test20(), and test_gen().
|
inline |
Definition at line 20303 of file exprtk.hpp.
References exprtk::vector_view< T >::size().
|
inline |
Definition at line 20289 of file exprtk.hpp.
|
inline |
Definition at line 20274 of file exprtk.hpp.
|
inline |
Definition at line 20262 of file exprtk.hpp.
Referenced by exprtk::details::collector_helper< T >::resolve_as_vector::process(), run_test01(), and run_test18().
|
inline |
Definition at line 19851 of file exprtk.hpp.
Referenced by expression_processor< T >::clear_functions(), and run_test10().
|
inline |
Definition at line 19829 of file exprtk.hpp.
|
inline |
Definition at line 19846 of file exprtk.hpp.
|
inline |
Definition at line 19834 of file exprtk.hpp.
|
inline |
Definition at line 19824 of file exprtk.hpp.
Referenced by expression_processor< T >::setup_symbol_table().
|
inline |
Definition at line 19841 of file exprtk.hpp.
|
inline |
Definition at line 20070 of file exprtk.hpp.
|
inline |
Definition at line 20054 of file exprtk.hpp.
Referenced by main(), exprtk::parser< T >::parse_symtab_symbol(), and my_usr_ext< T >::process().
|
inline |
Definition at line 19879 of file exprtk.hpp.
|
inline |
Definition at line 20570 of file exprtk.hpp.
|
inline |
Definition at line 19944 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from(), and expression_processor< T >::process_function_definition().
|
inline |
Definition at line 20445 of file exprtk.hpp.
|
inline |
Definition at line 19964 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from().
|
inline |
Definition at line 19984 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from().
|
inline |
Definition at line 19974 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from().
|
inline |
Definition at line 19915 of file exprtk.hpp.
Referenced by run_test10().
|
inline |
Definition at line 19925 of file exprtk.hpp.
|
inline |
Definition at line 20414 of file exprtk.hpp.
Referenced by run_test10().
|
inline |
Definition at line 20424 of file exprtk.hpp.
|
inline |
Definition at line 20565 of file exprtk.hpp.
|
inline |
Definition at line 19954 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from().
|
inline |
Definition at line 19895 of file exprtk.hpp.
Referenced by exprtk::derivative(), exprtk::integrate(), exprtk::symbol_table< T >::load_variables_from(), run_test10(), exprtk::second_derivative(), and exprtk::third_derivative().
|
inline |
Definition at line 19905 of file exprtk.hpp.
|
inline |
Definition at line 20393 of file exprtk.hpp.
Referenced by expression_processor< T >::list_symbols(), and run_test10().
|
inline |
Definition at line 20403 of file exprtk.hpp.
|
inline |
Definition at line 20554 of file exprtk.hpp.
|
inline |
Definition at line 19996 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_vectors_from().
|
inline |
Definition at line 20435 of file exprtk.hpp.
|
inline |
Definition at line 20559 of file exprtk.hpp.
|
inline |
Definition at line 20030 of file exprtk.hpp.
|
inline |
Definition at line 20041 of file exprtk.hpp.
|
inline |
Definition at line 20514 of file exprtk.hpp.
|
inline |
Definition at line 20530 of file exprtk.hpp.
|
inline |
Definition at line 20506 of file exprtk.hpp.
|
inline |
Definition at line 20538 of file exprtk.hpp.
|
inline |
Definition at line 20497 of file exprtk.hpp.
|
inline |
Definition at line 20546 of file exprtk.hpp.
|
inline |
Definition at line 20582 of file exprtk.hpp.
References exprtk::symbol_table< T >::control_block::st_data::function_store, exprtk::symbol_table< T >::control_block::st_data::generic_function_store, exprtk::symbol_table< T >::get_function(), exprtk::symbol_table< T >::get_generic_function(), exprtk::symbol_table< T >::get_overload_function(), exprtk::symbol_table< T >::get_string_function(), exprtk::symbol_table< T >::get_vararg_function(), exprtk::symbol_table< T >::local_data(), exprtk::symbol_table< T >::control_block::st_data::overload_function_store, exprtk::symbol_table< T >::control_block::st_data::string_function_store, and exprtk::symbol_table< T >::control_block::st_data::vararg_function_store.
Referenced by exprtk::function_compositor< T >::compile_expression().
|
inline |
Definition at line 20660 of file exprtk.hpp.
References exprtk::symbol_table< T >::get_variable(), exprtk::symbol_table< T >::local_data(), exprtk::details::variable_node< T >::ref(), and exprtk::symbol_table< T >::control_block::st_data::variable_store.
Referenced by exprtk::function_compositor< T >::compile_expression().
|
inline |
Definition at line 20676 of file exprtk.hpp.
References exprtk::details::vector_holder< Type >::data(), exprtk::symbol_table< T >::get_vector(), exprtk::symbol_table< T >::local_data(), exprtk::details::vector_holder< Type >::size(), and exprtk::symbol_table< T >::control_block::st_data::vector_store.
Referenced by exprtk::function_compositor< T >::compile_expression().
|
inlineprivate |
Definition at line 20748 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::load_from(), exprtk::symbol_table< T >::load_variables_from(), and exprtk::symbol_table< T >::load_vectors_from().
|
inlineprivate |
Definition at line 20753 of file exprtk.hpp.
|
inline |
Definition at line 19819 of file exprtk.hpp.
|
inline |
Definition at line 19801 of file exprtk.hpp.
References exprtk::symbol_table< T >::control_block_, and exprtk::symbol_table< T >::control_block::ref_count.
|
inline |
Definition at line 19814 of file exprtk.hpp.
References exprtk::symbol_table< T >::control_block_.
|
inline |
Definition at line 20335 of file exprtk.hpp.
Referenced by expression_processor< T >::process_function_definition(), run_test10(), and run_test18().
|
inline |
Definition at line 20326 of file exprtk.hpp.
Referenced by run_test10(), and run_test18().
|
inline |
Definition at line 20343 of file exprtk.hpp.
Referenced by run_test18().
|
inline |
Definition at line 20317 of file exprtk.hpp.
Referenced by run_test10(), and run_test18().
|
inline |
Definition at line 20351 of file exprtk.hpp.
Referenced by run_test18().
|
inline |
Definition at line 19870 of file exprtk.hpp.
Referenced by run_test10().
|
inline |
Definition at line 20018 of file exprtk.hpp.
|
inline |
Definition at line 20472 of file exprtk.hpp.
Referenced by run_test10().
|
inline |
Definition at line 20576 of file exprtk.hpp.
Referenced by exprtk::derivative(), exprtk::integrate(), exprtk::second_derivative(), and exprtk::third_derivative().
|
inlineprivate |
Definition at line 20720 of file exprtk.hpp.
|
inlineprivate |
Definition at line 20694 of file exprtk.hpp.
|
inline |
Definition at line 19861 of file exprtk.hpp.
|
inline |
Definition at line 20006 of file exprtk.hpp.
|
inline |
Definition at line 19887 of file exprtk.hpp.
|
friend |
Definition at line 20758 of file exprtk.hpp.
|
private |
Definition at line 20758 of file exprtk.hpp.
Referenced by exprtk::symbol_table< T >::operator=(), exprtk::symbol_table< T >::operator==(), and exprtk::symbol_table< T >::symbol_table().
|
staticprotected |
Definition at line 19664 of file exprtk.hpp.