C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::parser< T >::dependent_entity_collector Class Reference

#include <exprtk.hpp>

Public Types

typedef std::pair< std::string, symbol_type > symbol_t
typedef std::vector< symbol_t > symbol_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 23866 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 23968 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 23871 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 23870 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 24000 of file exprtk.hpp.

24001 {
24002 switch (st)
24003 {
24004 case e_st_variable :
24005 case e_st_vector :
24008 .push_back(std::make_pair(symbol, st));
24009 break;
24010
24011 default : return;
24012 }
24013 }

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

◆ add_symbol()

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

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

23911 {
23913 return 0;
23914 else if (assignment_name_list_.empty())
23915 return 0;
23916
23917 for (std::size_t i = 0; i < assignment_name_list_.size(); ++i)
23918 {
23920 }
23921
23923
23925 (
23926 assignment_name_list_.begin(),
23927 assignment_name_list_.end (),
23929 );
23930
23931 return assignment_list.size();
23932 }
void case_normalise(std::string &s)
Definition exprtk.hpp:182

References assignment_name_list_, exprtk::details::case_normalise(), and collect_assignments_.

Here is the call graph for this function:

◆ clear()

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

Definition at line 23934 of file exprtk.hpp.

23935 {
23936 symbol_name_list_ .clear();
23937 assignment_name_list_.clear();
23938 retparam_list_ .clear();
23939 return_present_ = false;
23940 final_stmt_return_ = false;
23941 }

References assignment_name_list_, final_stmt_return_, retparam_list_, return_present_, and symbol_name_list_.

◆ collect_assignments()

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

Definition at line 23953 of file exprtk.hpp.

23954 {
23955 return collect_assignments_;
23956 }

References collect_assignments_.

◆ collect_functions()

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

Definition at line 23948 of file exprtk.hpp.

23949 {
23950 return collect_functions_;
23951 }

References collect_functions_.

Referenced by exprtk::details::collector_helper< T >::collection_pass().

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

23944 {
23945 return collect_variables_;
23946 }

References collect_variables_.

Referenced by exprtk::details::collector_helper< T >::collection_pass().

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

23964 {
23965 return final_stmt_return_;
23966 }

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

23971 {
23972 return retparam_list_;
23973 }

References retparam_list_.

◆ return_present()

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

Definition at line 23958 of file exprtk.hpp.

23959 {
23960 return return_present_;
23961 }

References return_present_.

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

23885 {
23887 return 0;
23888 else if (symbol_name_list_.empty())
23889 return 0;
23890
23891 for (std::size_t i = 0; i < symbol_name_list_.size(); ++i)
23892 {
23894 }
23895
23897
23899 (
23900 symbol_name_list_.begin(),
23901 symbol_name_list_.end (),
23903 );
23904
23905 return symbols_list.size();
23906 }

References exprtk::details::case_normalise(), collect_functions_, collect_variables_, and symbol_name_list_.

Referenced by exprtk::details::collector_helper< T >::collection_pass().

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

◆ parser< T >

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

Definition at line 24023 of file exprtk.hpp.

References exprtk::parser< T >::parser(), and retparam_list_.

Member Data Documentation

◆ assignment_name_list_

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

Definition at line 24022 of file exprtk.hpp.

Referenced by add_assignment(), assignment_symbols(), and clear().

◆ 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

Definition at line 24017 of file exprtk.hpp.

Referenced by add_symbol(), collect_functions(), dependent_entity_collector(), and symbols().

◆ collect_variables_

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

Definition at line 24016 of file exprtk.hpp.

Referenced by add_symbol(), collect_variables(), dependent_entity_collector(), and symbols().

◆ final_stmt_return_

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

Definition at line 24020 of file exprtk.hpp.

Referenced by clear(), dependent_entity_collector(), and final_stmt_return().

◆ options_

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

Definition at line 24015 of file exprtk.hpp.

Referenced by dependent_entity_collector().

◆ retparam_list_

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

Definition at line 24023 of file exprtk.hpp.

Referenced by clear(), parser< T >, and return_param_type_list().

◆ return_present_

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

Definition at line 24019 of file exprtk.hpp.

Referenced by clear(), dependent_entity_collector(), and return_present().

◆ symbol_name_list_

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

Definition at line 24021 of file exprtk.hpp.

Referenced by add_symbol(), clear(), and symbols().


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