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 20618 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 20631 of file exprtk.hpp.

20632 {
20633 for (std::size_t i = 0; i < details::reserved_words_size; ++i)
20634 {
20636 }
20637
20638 for (std::size_t i = 0; i < details::reserved_symbols_size; ++i)
20639 {
20641 }
20642 }
static const std::string reserved_symbols[]
Definition exprtk.hpp:451
static const std::string reserved_words[]
Definition exprtk.hpp:440
static const std::size_t reserved_words_size
Definition exprtk.hpp:449
static const std::size_t reserved_symbols_size
Definition exprtk.hpp:468
std::set< std::string > reserved_symbol_table_
Definition exprtk.hpp:20670

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 20644 of file exprtk.hpp.

20645 {
20646 for (std::size_t i = 0; i < free_function_list_.size(); ++i)
20647 {
20648 delete free_function_list_[i];
20649 }
20650 }
std::vector< ifunction< T > * > free_function_list_
Definition exprtk.hpp:20671

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 20657 of file exprtk.hpp.

20658 {
20659 return (new st_data);
20660 }

◆ destroy()

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

Definition at line 20662 of file exprtk.hpp.

20663 {
20664 delete sd;
20665 sd = reinterpret_cast<st_data*>(0);
20666 }

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 20652 of file exprtk.hpp.

20653 {
20654 return (reserved_symbol_table_.end() != reserved_symbol_table_.find(symbol));
20655 }

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 20669 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: