C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
exprtk::parser< T >::dependent_entity_collector Class Reference

#include <exprtk.hpp>

Public Types

typedef std::pair< std::string, symbol_typesymbol_t
 
typedef std::vector< symbol_tsymbol_list_t
 
typedef std::vector< std::string > retparam_list_t
 

Public Member Functions

 dependent_entity_collector (const std::size_t options=e_ct_none)
 
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t symbols (Sequence< symbol_t, Allocator > &symbols_list)
 
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t assignment_symbols (Sequence< symbol_t, Allocator > &assignment_list)
 
void clear ()
 
bool & collect_variables ()
 
bool & collect_functions ()
 
bool & collect_assignments ()
 
bool return_present () const
 
bool final_stmt_return () const
 
retparam_list_t return_param_type_list () const
 

Private Member Functions

void add_symbol (const std::string &symbol, const symbol_type st)
 
void add_assignment (const std::string &symbol, const symbol_type st)
 

Private Attributes

std::size_t options_
 
bool collect_variables_
 
bool collect_functions_
 
bool collect_assignments_
 
bool return_present_
 
bool final_stmt_return_
 
symbol_list_t symbol_name_list_
 
symbol_list_t assignment_name_list_
 
retparam_list_t retparam_list_
 

Friends

class parser< T >
 

Detailed Description

template<typename T>
class exprtk::parser< T >::dependent_entity_collector

Definition at line 23495 of file exprtk.hpp.

Member Typedef Documentation

◆ retparam_list_t

template<typename T >
typedef std::vector<std::string> exprtk::parser< T >::dependent_entity_collector::retparam_list_t

Definition at line 23597 of file exprtk.hpp.

◆ symbol_list_t

template<typename T >
typedef std::vector<symbol_t> exprtk::parser< T >::dependent_entity_collector::symbol_list_t

Definition at line 23500 of file exprtk.hpp.

◆ symbol_t

template<typename T >
typedef std::pair<std::string,symbol_type> exprtk::parser< T >::dependent_entity_collector::symbol_t

Definition at line 23499 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ dependent_entity_collector()

template<typename T >
exprtk::parser< T >::dependent_entity_collector::dependent_entity_collector ( const std::size_t  options = e_ct_none)
inline

Member Function Documentation

◆ add_assignment()

template<typename T >
void exprtk::parser< T >::dependent_entity_collector::add_assignment ( const std::string &  symbol,
const symbol_type  st 
)
inlineprivate

Definition at line 23629 of file exprtk.hpp.

23630 {
23631 switch (st)
23632 {
23633 case e_st_variable :
23634 case e_st_vector :
23637 .push_back(std::make_pair(symbol, st));
23638 break;
23639
23640 default : return;
23641 }
23642 }

References exprtk::parser< T >::dependent_entity_collector::assignment_name_list_, exprtk::parser< T >::dependent_entity_collector::collect_assignments_, exprtk::parser< T >::e_st_string, exprtk::parser< T >::e_st_variable, and exprtk::parser< T >::e_st_vector.

Referenced by exprtk::parser< T >::expression_generator< Type >::lodge_assignment().

Here is the caller graph for this function:

◆ add_symbol()

template<typename T >
void exprtk::parser< T >::dependent_entity_collector::add_symbol ( const std::string &  symbol,
const symbol_type  st 
)
inlineprivate

Definition at line 23606 of file exprtk.hpp.

23607 {
23608 switch (st)
23609 {
23610 case e_st_variable :
23611 case e_st_vector :
23612 case e_st_string :
23613 case e_st_local_variable :
23614 case e_st_local_vector :
23617 .push_back(std::make_pair(symbol, st));
23618 break;
23619
23622 .push_back(std::make_pair(symbol, st));
23623 break;
23624
23625 default : return;
23626 }
23627 }

References exprtk::parser< T >::dependent_entity_collector::collect_functions_, exprtk::parser< T >::dependent_entity_collector::collect_variables_, exprtk::parser< T >::e_st_function, exprtk::parser< T >::e_st_local_string, exprtk::parser< T >::e_st_local_variable, exprtk::parser< T >::e_st_local_vector, exprtk::parser< T >::e_st_string, exprtk::parser< T >::e_st_variable, exprtk::parser< T >::e_st_vector, and exprtk::parser< T >::dependent_entity_collector::symbol_name_list_.

Referenced by exprtk::parser< T >::lodge_symbol().

Here is the caller graph for this function:

◆ assignment_symbols()

template<typename T >
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::parser< T >::dependent_entity_collector::assignment_symbols ( Sequence< symbol_t, Allocator > &  assignment_list)
inline

Definition at line 23539 of file exprtk.hpp.

23540 {
23542 return 0;
23543 else if (assignment_name_list_.empty())
23544 return 0;
23545
23546 for (std::size_t i = 0; i < assignment_name_list_.size(); ++i)
23547 {
23549 }
23550
23551 std::sort(assignment_name_list_.begin(),assignment_name_list_.end());
23552
23553 std::unique_copy
23554 (
23555 assignment_name_list_.begin(),
23556 assignment_name_list_.end (),
23557 std::back_inserter(assignment_list)
23558 );
23559
23560 return assignment_list.size();
23561 }
void case_normalise(std::string &s)
Definition exprtk.hpp:182

References exprtk::parser< T >::dependent_entity_collector::assignment_name_list_, exprtk::details::case_normalise(), and exprtk::parser< T >::dependent_entity_collector::collect_assignments_.

Referenced by expression_processor< T >::process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

template<typename T >
void exprtk::parser< T >::dependent_entity_collector::clear ( )
inline

◆ collect_assignments()

template<typename T >
bool & exprtk::parser< T >::dependent_entity_collector::collect_assignments ( )
inline

Definition at line 23582 of file exprtk.hpp.

23583 {
23584 return collect_assignments_;
23585 }

References exprtk::parser< T >::dependent_entity_collector::collect_assignments_.

Referenced by exprtk::parser< T >::init_precompilation(), exprtk::parser< T >::expression_generator< Type >::lodge_assignment(), expression_processor< T >::process(), and run_test10().

Here is the caller graph for this function:

◆ collect_functions()

template<typename T >
bool & exprtk::parser< T >::dependent_entity_collector::collect_functions ( )
inline

Definition at line 23577 of file exprtk.hpp.

23578 {
23579 return collect_functions_;
23580 }

References exprtk::parser< T >::dependent_entity_collector::collect_functions_.

Referenced by exprtk::details::collector_helper< T >::collection_pass(), exprtk::parser< T >::init_precompilation(), and expression_processor< T >::process().

Here is the caller graph for this function:

◆ collect_variables()

template<typename T >
bool & exprtk::parser< T >::dependent_entity_collector::collect_variables ( )
inline

Definition at line 23572 of file exprtk.hpp.

23573 {
23574 return collect_variables_;
23575 }

References exprtk::parser< T >::dependent_entity_collector::collect_variables_.

Referenced by exprtk::details::collector_helper< T >::collection_pass(), exprtk::parser< T >::init_precompilation(), expression_processor< T >::process(), and run_test10().

Here is the caller graph for this function:

◆ final_stmt_return()

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::final_stmt_return ( ) const
inline

Definition at line 23592 of file exprtk.hpp.

23593 {
23594 return final_stmt_return_;
23595 }

References exprtk::parser< T >::dependent_entity_collector::final_stmt_return_.

◆ return_param_type_list()

template<typename T >
retparam_list_t exprtk::parser< T >::dependent_entity_collector::return_param_type_list ( ) const
inline

Definition at line 23599 of file exprtk.hpp.

23600 {
23601 return retparam_list_;
23602 }

References exprtk::parser< T >::dependent_entity_collector::retparam_list_.

Referenced by exprtk::function_compositor< T >::compile_expression().

Here is the caller graph for this function:

◆ return_present()

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::return_present ( ) const
inline

Definition at line 23587 of file exprtk.hpp.

23588 {
23589 return return_present_;
23590 }

References exprtk::parser< T >::dependent_entity_collector::return_present_.

Referenced by exprtk::function_compositor< T >::compile_expression().

Here is the caller graph for this function:

◆ symbols()

template<typename T >
template<typename Allocator , template< typename, typename > class Sequence>
std::size_t exprtk::parser< T >::dependent_entity_collector::symbols ( Sequence< symbol_t, Allocator > &  symbols_list)
inline

Definition at line 23513 of file exprtk.hpp.

23514 {
23516 return 0;
23517 else if (symbol_name_list_.empty())
23518 return 0;
23519
23520 for (std::size_t i = 0; i < symbol_name_list_.size(); ++i)
23521 {
23523 }
23524
23525 std::sort(symbol_name_list_.begin(), symbol_name_list_.end());
23526
23527 std::unique_copy
23528 (
23529 symbol_name_list_.begin(),
23530 symbol_name_list_.end (),
23531 std::back_inserter(symbols_list)
23532 );
23533
23534 return symbols_list.size();
23535 }

References exprtk::details::case_normalise(), exprtk::parser< T >::dependent_entity_collector::collect_functions_, exprtk::parser< T >::dependent_entity_collector::collect_variables_, and exprtk::parser< T >::dependent_entity_collector::symbol_name_list_.

Referenced by exprtk::details::collector_helper< T >::collection_pass(), and expression_processor< T >::process().

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ parser< T >

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

Definition at line 23652 of file exprtk.hpp.

Member Data Documentation

◆ assignment_name_list_

template<typename T >
symbol_list_t exprtk::parser< T >::dependent_entity_collector::assignment_name_list_
private

◆ collect_assignments_

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::collect_assignments_
private

◆ collect_functions_

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::collect_functions_
private

◆ collect_variables_

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::collect_variables_
private

◆ final_stmt_return_

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::final_stmt_return_
private

◆ options_

template<typename T >
std::size_t exprtk::parser< T >::dependent_entity_collector::options_
private

Definition at line 23644 of file exprtk.hpp.

◆ retparam_list_

template<typename T >
retparam_list_t exprtk::parser< T >::dependent_entity_collector::retparam_list_
private

◆ return_present_

template<typename T >
bool exprtk::parser< T >::dependent_entity_collector::return_present_
private

◆ symbol_name_list_

template<typename T >
symbol_list_t exprtk::parser< T >::dependent_entity_collector::symbol_name_list_
private

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