VR-Vantage 3.2 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Types | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends
exprtk::symbol_table< T > Class Template Reference
Inheritance diagram for exprtk::symbol_table< T >:
Inheritance graph
[legend]

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

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_tvector_holder_ptr

Public Member Functions

 symbol_table ()
 ~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
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
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)
 exprtk_define_freefunction (00) exprtk_define_freefunction(01) exprtk_define_freefunction(02) exprtk_define_freefunction(03) exprtk_define_freefunction(04) exprtk_define_freefunction(05) exprtk_define_freefunction(06) exprtk_define_freefunction(07) exprtk_define_freefunction(08) exprtk_define_freefunction(09) exprtk_define_freefunction(10) exprtk_define_freefunction(11) exprtk_define_freefunction(12) exprtk_define_freefunction(13) exprtk_define_freefunction(14) exprtk_define_freefunction(15) inline bool add_reserved_function(const std
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 > &vlist) 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)

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_tvariable_ptr
typedef
details::stringvar_node< T > 
stringvar_t
typedef stringvar_tstringvar_ptr
typedef ifunction< T > function_t
typedef ivararg_function< T > vararg_function_t
typedef igeneric_function< T > generic_function_t
typedef function_tfunction_ptr
typedef vararg_function_tvararg_function_ptr
typedef generic_function_tgeneric_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_tlocal_data ()
const local_data_tlocal_data () const

Private Attributes

control_blockcontrol_block_

Friends

class parser< T >

Member Typedef Documentation

template<typename T>
typedef T(* exprtk::symbol_table< T >::ff00_functor)()
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff01_functor)(T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff02_functor)(T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff03_functor)(T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff04_functor)(T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff05_functor)(T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff06_functor)(T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff07_functor)(T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff08_functor)(T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff09_functor)(T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff10_functor)(T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff11_functor)(T, T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff12_functor)(T, T, T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff13_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff14_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef T(* exprtk::symbol_table< T >::ff15_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)
template<typename T>
typedef details::expression_node<T>* exprtk::symbol_table< T >::expression_ptr
protected
template<typename T>
typedef details::variable_node<T> exprtk::symbol_table< T >::variable_t
protected
template<typename T>
typedef details::vector_holder<T> exprtk::symbol_table< T >::vector_holder_t
protected
template<typename T>
typedef variable_t* exprtk::symbol_table< T >::variable_ptr
protected
template<typename T>
typedef details::stringvar_node<T> exprtk::symbol_table< T >::stringvar_t
protected
template<typename T>
typedef stringvar_t* exprtk::symbol_table< T >::stringvar_ptr
protected
template<typename T>
typedef ifunction<T> exprtk::symbol_table< T >::function_t
protected
template<typename T>
typedef ivararg_function<T> exprtk::symbol_table< T >::vararg_function_t
protected
template<typename T>
typedef igeneric_function<T> exprtk::symbol_table< T >::generic_function_t
protected
template<typename T>
typedef function_t* exprtk::symbol_table< T >::function_ptr
protected
template<typename T>
typedef vararg_function_t* exprtk::symbol_table< T >::vararg_function_ptr
protected
template<typename T>
typedef generic_function_t* exprtk::symbol_table< T >::generic_function_ptr
protected
template<typename T>
typedef vector_holder_t* exprtk::symbol_table< T >::vector_holder_ptr
template<typename T>
typedef control_block::st_data exprtk::symbol_table< T >::local_data_t
private

Constructor & Destructor Documentation

template<typename T>
exprtk::symbol_table< T >::symbol_table ( )
inline
template<typename T>
exprtk::symbol_table< T >::~symbol_table ( )
inline
template<typename T>
exprtk::symbol_table< T >::symbol_table ( const symbol_table< T > &  st)
inline

Member Function Documentation

template<typename T>
symbol_table<T>& exprtk::symbol_table< T >::operator= ( const symbol_table< T > &  st)
inline
template<typename T>
bool exprtk::symbol_table< T >::operator== ( const symbol_table< T > &  st) const
inline
template<typename T>
void exprtk::symbol_table< T >::clear_variables ( const bool  delete_node = true)
inline
template<typename T>
void exprtk::symbol_table< T >::clear_functions ( )
inline
template<typename T>
void exprtk::symbol_table< T >::clear_strings ( )
inline
template<typename T>
void exprtk::symbol_table< T >::clear_vectors ( )
inline
template<typename T>
void exprtk::symbol_table< T >::clear_local_constants ( )
inline
template<typename T>
void exprtk::symbol_table< T >::clear ( )
inline
template<typename T>
std::size_t exprtk::symbol_table< T >::variable_count ( ) const
inline
template<typename T>
std::size_t exprtk::symbol_table< T >::stringvar_count ( ) const
inline
template<typename T>
std::size_t exprtk::symbol_table< T >::function_count ( ) const
inline
template<typename T>
std::size_t exprtk::symbol_table< T >::vector_count ( ) const
inline
template<typename T>
variable_ptr exprtk::symbol_table< T >::get_variable ( const std::string &  variable_name) const
inline
template<typename T>
variable_ptr exprtk::symbol_table< T >::get_variable ( const T &  var_ref) const
inline
template<typename T>
stringvar_ptr exprtk::symbol_table< T >::get_stringvar ( const std::string &  string_name) const
inline
template<typename T>
function_ptr exprtk::symbol_table< T >::get_function ( const std::string &  function_name) const
inline
template<typename T>
vararg_function_ptr exprtk::symbol_table< T >::get_vararg_function ( const std::string &  vararg_function_name) const
inline
template<typename T>
generic_function_ptr exprtk::symbol_table< T >::get_generic_function ( const std::string &  function_name) const
inline
template<typename T>
generic_function_ptr exprtk::symbol_table< T >::get_string_function ( const std::string &  function_name) const
inline
template<typename T>
generic_function_ptr exprtk::symbol_table< T >::get_overload_function ( const std::string &  function_name) const
inline
template<typename T>
vector_holder_ptr exprtk::symbol_table< T >::get_vector ( const std::string &  vector_name) const
inline
template<typename T>
T& exprtk::symbol_table< T >::variable_ref ( const std::string &  symbol_name)
inline
template<typename T>
std::string& exprtk::symbol_table< T >::stringvar_ref ( const std::string &  symbol_name)
inline
template<typename T>
bool exprtk::symbol_table< T >::is_constant_node ( const std::string &  symbol_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_constant_string ( const std::string &  symbol_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::create_variable ( const std::string &  variable_name,
const T &  value = T(0) 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::create_stringvar ( const std::string &  stringvar_name,
const std::string &  value = std::string("") 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_variable ( const std::string &  variable_name,
T &  t,
const bool  is_constant = false 
)
inline

Referenced by exprtk::pgo_primer().

template<typename T>
bool exprtk::symbol_table< T >::add_constant ( const std::string &  constant_name,
const T &  value 
)
inline

Referenced by exprtk::compute().

template<typename T>
bool exprtk::symbol_table< T >::add_stringvar ( const std::string &  stringvar_name,
std::string &  s,
const bool  is_constant = false 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_function ( const std::string &  function_name,
function_t function 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_function ( const std::string &  vararg_function_name,
vararg_function_t vararg_function 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_function ( const std::string &  function_name,
generic_function_t function 
)
inline
template<typename T>
exprtk::symbol_table< T >::exprtk_define_freefunction ( 00  ) const
inline
template<typename T>
bool exprtk::symbol_table< T >::add_reserved_function ( const std::string &  vararg_function_name,
vararg_function_t vararg_function 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_reserved_function ( const std::string &  function_name,
generic_function_t function 
)
inline
template<typename T>
template<std::size_t N>
bool exprtk::symbol_table< T >::add_vector ( const std::string &  vector_name,
T(&)  v[N] 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_vector ( const std::string &  vector_name,
T *  v,
const std::size_t &  v_size 
)
inline
template<typename T>
template<typename Allocator >
bool exprtk::symbol_table< T >::add_vector ( const std::string &  vector_name,
std::vector< T, Allocator > &  v 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_vector ( const std::string &  vector_name,
exprtk::vector_view< T > &  v 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::remove_variable ( const std::string &  variable_name,
const bool  delete_node = true 
)
inline
template<typename T>
bool exprtk::symbol_table< T >::remove_stringvar ( const std::string &  string_name)
inline
template<typename T>
bool exprtk::symbol_table< T >::remove_function ( const std::string &  function_name)
inline
template<typename T>
bool exprtk::symbol_table< T >::remove_vararg_function ( const std::string &  vararg_function_name)
inline
template<typename T>
bool exprtk::symbol_table< T >::remove_vector ( const std::string &  vector_name)
inline
template<typename T>
bool exprtk::symbol_table< T >::add_constants ( )
inline
template<typename T>
bool exprtk::symbol_table< T >::add_pi ( )
inline
template<typename T>
bool exprtk::symbol_table< T >::add_epsilon ( )
inline
template<typename T>
bool exprtk::symbol_table< T >::add_infinity ( )
inline
template<typename T>
template<typename Package >
bool exprtk::symbol_table< T >::add_package ( Package &  package)
inline
template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::symbol_table< T >::get_variable_list ( Sequence< std::pair< std::string, T >, Allocator > &  vlist) const
inline
template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::symbol_table< T >::get_variable_list ( Sequence< std::string, Allocator > &  vlist) const
inline
template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::symbol_table< T >::get_stringvar_list ( Sequence< std::pair< std::string, std::string >, Allocator > &  svlist) const
inline
template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::symbol_table< T >::get_stringvar_list ( Sequence< std::string, Allocator > &  svlist) const
inline
template<typename T>
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::symbol_table< T >::get_vector_list ( Sequence< std::string, Allocator > &  vlist) const
inline
template<typename T>
bool exprtk::symbol_table< T >::symbol_exists ( const std::string &  symbol_name,
const bool  check_reserved_symb = true 
) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_variable ( const std::string &  variable_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_stringvar ( const std::string &  stringvar_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_conststr_stringvar ( const std::string &  symbol_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_function ( const std::string &  function_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_vararg_function ( const std::string &  vararg_function_name) const
inline
template<typename T>
bool exprtk::symbol_table< T >::is_vector ( const std::string &  vector_name) const
inline
template<typename T>
std::string exprtk::symbol_table< T >::get_variable_name ( const expression_ptr ptr) const
inline
template<typename T>
std::string exprtk::symbol_table< T >::get_vector_name ( const vector_holder_ptr ptr) const
inline
template<typename T>
std::string exprtk::symbol_table< T >::get_stringvar_name ( const expression_ptr ptr) const
inline
template<typename T>
std::string exprtk::symbol_table< T >::get_conststr_stringvar_name ( const expression_ptr ptr) const
inline
template<typename T>
bool exprtk::symbol_table< T >::valid ( ) const
inline
template<typename T>
void exprtk::symbol_table< T >::load_from ( const symbol_table< T > &  st)
inline
template<typename T>
bool exprtk::symbol_table< T >::valid_symbol ( const std::string &  symbol,
const bool  check_reserved_symb = true 
) const
inlineprivate
template<typename T>
bool exprtk::symbol_table< T >::valid_function ( const std::string &  symbol) const
inlineprivate
template<typename T>
local_data_t& exprtk::symbol_table< T >::local_data ( )
inlineprivate
template<typename T>
const local_data_t& exprtk::symbol_table< T >::local_data ( ) const
inlineprivate

Friends And Related Function Documentation

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

Member Data Documentation

template<typename T>
const std::size_t exprtk::symbol_table< T >::lut_size = 256
staticprotected
template<typename T>
control_block* exprtk::symbol_table< T >::control_block_
private

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


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)