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 23782 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 23884 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 23787 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 23786 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)
inlineexplicit

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

23917 {
23918 switch (st)
23919 {
23920 case e_st_variable :
23921 case e_st_vector :
23924 .push_back(std::make_pair(symbol, st));
23925 break;
23926
23927 default : return;
23928 }
23929 }

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

23894 {
23895 switch (st)
23896 {
23897 case e_st_variable :
23898 case e_st_vector :
23899 case e_st_string :
23900 case e_st_local_variable :
23901 case e_st_local_vector :
23904 .push_back(std::make_pair(symbol, st));
23905 break;
23906
23909 .push_back(std::make_pair(symbol, st));
23910 break;
23911
23912 default : return;
23913 }
23914 }

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

23827 {
23829 return 0;
23830 else if (assignment_name_list_.empty())
23831 return 0;
23832
23833 for (std::size_t i = 0; i < assignment_name_list_.size(); ++i)
23834 {
23836 }
23837
23838 std::sort(assignment_name_list_.begin(),assignment_name_list_.end());
23839
23840 std::unique_copy
23841 (
23842 assignment_name_list_.begin(),
23843 assignment_name_list_.end (),
23844 std::back_inserter(assignment_list)
23845 );
23846
23847 return assignment_list.size();
23848 }
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 23869 of file exprtk.hpp.

23870 {
23871 return collect_assignments_;
23872 }

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

23865 {
23866 return collect_functions_;
23867 }

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

23860 {
23861 return collect_variables_;
23862 }

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

23880 {
23881 return final_stmt_return_;
23882 }

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

23887 {
23888 return retparam_list_;
23889 }

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

23875 {
23876 return return_present_;
23877 }

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

23801 {
23803 return 0;
23804 else if (symbol_name_list_.empty())
23805 return 0;
23806
23807 for (std::size_t i = 0; i < symbol_name_list_.size(); ++i)
23808 {
23810 }
23811
23812 std::sort(symbol_name_list_.begin(), symbol_name_list_.end());
23813
23814 std::unique_copy
23815 (
23816 symbol_name_list_.begin(),
23817 symbol_name_list_.end (),
23818 std::back_inserter(symbols_list)
23819 );
23820
23821 return symbols_list.size();
23822 }

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 23939 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 23931 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: