GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
exprtk::parser< T >::scope_element_manager Class Reference

Public Types

typedef expression_node_texpression_node_ptr
 
typedef variable_node_tvariable_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_elementget_element (const std::size_t &index)
 
scope_elementget_element (const std::string &var_name, const std::size_t index=std::numeric_limits< std::size_t >::max())
 
scope_elementget_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 &) exprtk_delete
 
scope_element_manageroperator= (const scope_element_manager &) exprtk_delete
 

Private Attributes

parser_tparser_
 
std::vector< scope_elementelement_
 
scope_element null_element_
 
std::size_t input_param_cnt_
 

Member Typedef Documentation

◆ expression_node_ptr

◆ parser_t

template<typename T >
typedef parser<T> exprtk::parser< T >::scope_element_manager::parser_t

◆ variable_node_ptr

Constructor & Destructor Documentation

◆ scope_element_manager() [1/2]

template<typename T >
exprtk::parser< T >::scope_element_manager::scope_element_manager ( parser< T > &  p)
inlineexplicit

◆ scope_element_manager() [2/2]

template<typename T >
exprtk::parser< T >::scope_element_manager::scope_element_manager ( const scope_element_manager )
private

Member Function Documentation

◆ add_element()

template<typename T >
bool exprtk::parser< T >::scope_element_manager::add_element ( const scope_element se)
inline

◆ cleanup()

template<typename T >
void exprtk::parser< T >::scope_element_manager::cleanup ( )
inline

◆ deactivate()

template<typename T >
void exprtk::parser< T >::scope_element_manager::deactivate ( const std::size_t &  scope_depth)
inline

◆ empty()

template<typename T >
bool exprtk::parser< T >::scope_element_manager::empty ( ) const
inline

◆ free_element()

template<typename T >
void exprtk::parser< T >::scope_element_manager::free_element ( scope_element se)
inline

◆ get_active_element()

template<typename T >
scope_element& exprtk::parser< T >::scope_element_manager::get_active_element ( const std::string &  var_name,
const std::size_t  index = std::numeric_limits<std::size_t>::max() 
)
inline

◆ get_element() [1/2]

template<typename T >
scope_element& exprtk::parser< T >::scope_element_manager::get_element ( const std::size_t &  index)
inline

◆ get_element() [2/2]

template<typename T >
scope_element& exprtk::parser< T >::scope_element_manager::get_element ( const std::string &  var_name,
const std::size_t  index = std::numeric_limits<std::size_t>::max() 
)
inline

◆ get_variable()

template<typename T >
expression_node_ptr exprtk::parser< T >::scope_element_manager::get_variable ( const T &  v)
inline

◆ get_vector_name()

template<typename T >
std::string exprtk::parser< T >::scope_element_manager::get_vector_name ( const T *  data)
inline

◆ next_ip_index()

template<typename T >
std::size_t exprtk::parser< T >::scope_element_manager::next_ip_index ( )
inline

◆ operator=()

template<typename T >
scope_element_manager& exprtk::parser< T >::scope_element_manager::operator= ( const scope_element_manager )
private

◆ size()

template<typename T >
std::size_t exprtk::parser< T >::scope_element_manager::size ( ) const
inline

Member Data Documentation

◆ element_

template<typename T >
std::vector<scope_element> exprtk::parser< T >::scope_element_manager::element_
private

◆ input_param_cnt_

template<typename T >
std::size_t exprtk::parser< T >::scope_element_manager::input_param_cnt_
private

◆ null_element_

template<typename T >
scope_element exprtk::parser< T >::scope_element_manager::null_element_
private

◆ parser_

template<typename T >
parser_t& exprtk::parser< T >::scope_element_manager::parser_
private

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