C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
exprtk::symbol_table< T >::control_block::st_data Struct Reference

#include <exprtk.hpp>

Collaboration diagram for exprtk::symbol_table< T >::control_block::st_data:
[legend]

Public Member Functions

 st_data ()
 
 ~st_data ()
 
bool is_reserved_symbol (const std::string &symbol) const
 

Static Public Member Functions

static st_datacreate ()
 
static void destroy (st_data *&sd)
 

Public Attributes

type_store< variable_t, T > variable_store
 
type_store< function_t, function_tfunction_store
 
type_store< vararg_function_t, vararg_function_tvararg_function_store
 
type_store< generic_function_t, generic_function_tgeneric_function_store
 
type_store< generic_function_t, generic_function_tstring_function_store
 
type_store< generic_function_t, generic_function_toverload_function_store
 
type_store< vector_holder_t, vector_holder_tvector_store
 
type_store< stringvar_t, std::string > stringvar_store
 
std::list< T > local_symbol_list_
 
std::list< std::string > local_stringvar_list_
 
std::set< std::string > reserved_symbol_table_
 
std::vector< ifunction< T > * > free_function_list_
 

Detailed Description

template<typename T>
struct exprtk::symbol_table< T >::control_block::st_data

Definition at line 20353 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ st_data()

template<typename T >
exprtk::symbol_table< T >::control_block::st_data::st_data ( )
inline

Definition at line 20366 of file exprtk.hpp.

20367 {
20368 for (std::size_t i = 0; i < details::reserved_words_size; ++i)
20369 {
20371 }
20372
20373 for (std::size_t i = 0; i < details::reserved_symbols_size; ++i)
20374 {
20376 }
20377 }
static const std::string reserved_symbols[]
Definition exprtk.hpp:444
static const std::string reserved_words[]
Definition exprtk.hpp:433
static const std::size_t reserved_words_size
Definition exprtk.hpp:442
static const std::size_t reserved_symbols_size
Definition exprtk.hpp:461
std::set< std::string > reserved_symbol_table_
Definition exprtk.hpp:20405

References exprtk::symbol_table< T >::control_block::st_data::reserved_symbol_table_, exprtk::details::reserved_symbols, exprtk::details::reserved_symbols_size, exprtk::details::reserved_words, and exprtk::details::reserved_words_size.

◆ ~st_data()

template<typename T >
exprtk::symbol_table< T >::control_block::st_data::~st_data ( )
inline

Definition at line 20379 of file exprtk.hpp.

20380 {
20381 for (std::size_t i = 0; i < free_function_list_.size(); ++i)
20382 {
20383 delete free_function_list_[i];
20384 }
20385 }
std::vector< ifunction< T > * > free_function_list_
Definition exprtk.hpp:20406

References exprtk::symbol_table< T >::control_block::st_data::free_function_list_.

Member Function Documentation

◆ create()

template<typename T >
static st_data * exprtk::symbol_table< T >::control_block::st_data::create ( )
inlinestatic

Definition at line 20392 of file exprtk.hpp.

20393 {
20394 return (new st_data);
20395 }

◆ destroy()

template<typename T >
static void exprtk::symbol_table< T >::control_block::st_data::destroy ( st_data *&  sd)
inlinestatic

Definition at line 20397 of file exprtk.hpp.

20398 {
20399 delete sd;
20400 sd = reinterpret_cast<st_data*>(0);
20401 }

Referenced by exprtk::symbol_table< T >::control_block::~control_block().

Here is the caller graph for this function:

◆ is_reserved_symbol()

template<typename T >
bool exprtk::symbol_table< T >::control_block::st_data::is_reserved_symbol ( const std::string &  symbol) const
inline

Definition at line 20387 of file exprtk.hpp.

20388 {
20389 return (reserved_symbol_table_.end() != reserved_symbol_table_.find(symbol));
20390 }

References exprtk::symbol_table< T >::control_block::st_data::reserved_symbol_table_.

Referenced by exprtk::symbol_table< T >::valid_symbol().

Here is the caller graph for this function:

Member Data Documentation

◆ free_function_list_

template<typename T >
std::vector<ifunction<T>*> exprtk::symbol_table< T >::control_block::st_data::free_function_list_

◆ function_store

template<typename T >
type_store<function_t , function_t > exprtk::symbol_table< T >::control_block::st_data::function_store

◆ generic_function_store

template<typename T >
type_store<generic_function_t, generic_function_t> exprtk::symbol_table< T >::control_block::st_data::generic_function_store

◆ local_stringvar_list_

template<typename T >
std::list<std::string> exprtk::symbol_table< T >::control_block::st_data::local_stringvar_list_

Definition at line 20404 of file exprtk.hpp.

Referenced by exprtk::symbol_table< T >::create_stringvar().

◆ local_symbol_list_

template<typename T >
std::list<T> exprtk::symbol_table< T >::control_block::st_data::local_symbol_list_

◆ overload_function_store

template<typename T >
type_store<generic_function_t, generic_function_t> exprtk::symbol_table< T >::control_block::st_data::overload_function_store

◆ reserved_symbol_table_

template<typename T >
std::set<std::string> exprtk::symbol_table< T >::control_block::st_data::reserved_symbol_table_

◆ string_function_store

template<typename T >
type_store<generic_function_t, generic_function_t> exprtk::symbol_table< T >::control_block::st_data::string_function_store

◆ stringvar_store

template<typename T >
type_store<stringvar_t , std::string > exprtk::symbol_table< T >::control_block::st_data::stringvar_store

◆ vararg_function_store

template<typename T >
type_store<vararg_function_t , vararg_function_t > exprtk::symbol_table< T >::control_block::st_data::vararg_function_store

◆ variable_store

template<typename T >
type_store<variable_t , T > exprtk::symbol_table< T >::control_block::st_data::variable_store

◆ vector_store

template<typename T >
type_store<vector_holder_t , vector_holder_t > exprtk::symbol_table< T >::control_block::st_data::vector_store

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