C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::details::collector_helper< T > Struct Template Reference

#include <exprtk.hpp>

Classes

struct  resolve_as_vector

Public Types

typedef exprtk::symbol_table< T > symbol_table_t
typedef exprtk::expression< T > expression_t
typedef exprtk::parser< T > parser_t
typedef parser_t::dependent_entity_collector::symbol_t symbol_t
typedef parser_t::unknown_symbol_resolver usr_t

Static Public Member Functions

static bool collection_pass (const std::string &expression_string, std::set< std::string > &symbol_set, const bool collect_variables, const bool collect_functions, const bool vector_pass, symbol_table_t &ext_symbol_table)

Detailed Description

template<typename T>
struct exprtk::details::collector_helper< T >

Definition at line 42286 of file exprtk.hpp.

Member Typedef Documentation

◆ expression_t

template<typename T>
typedef exprtk::expression<T> exprtk::details::collector_helper< T >::expression_t

Definition at line 42289 of file exprtk.hpp.

◆ parser_t

template<typename T>
typedef exprtk::parser<T> exprtk::details::collector_helper< T >::parser_t

Definition at line 42290 of file exprtk.hpp.

◆ symbol_t

template<typename T>
typedef parser_t::dependent_entity_collector::symbol_t exprtk::details::collector_helper< T >::symbol_t

Definition at line 42291 of file exprtk.hpp.

◆ symbol_table_t

template<typename T>
typedef exprtk::symbol_table<T> exprtk::details::collector_helper< T >::symbol_table_t

Definition at line 42288 of file exprtk.hpp.

◆ usr_t

template<typename T>
typedef parser_t::unknown_symbol_resolver exprtk::details::collector_helper< T >::usr_t

Definition at line 42292 of file exprtk.hpp.

Member Function Documentation

◆ collection_pass()

template<typename T>
bool exprtk::details::collector_helper< T >::collection_pass ( const std::string & expression_string,
std::set< std::string > & symbol_set,
const bool collect_variables,
const bool collect_functions,
const bool vector_pass,
symbol_table_t & ext_symbol_table )
inlinestatic

Definition at line 42314 of file exprtk.hpp.

42320 {
42324
42326
42327 expression.register_symbol_table(symbol_table );
42328 expression.register_symbol_table(ext_symbol_table);
42329
42330 if (vector_pass)
42331 parser.enable_unknown_symbol_resolver(&vect_resolver);
42332 else
42333 parser.enable_unknown_symbol_resolver();
42334
42336 parser.dec().collect_variables() = true;
42337
42339 parser.dec().collect_functions() = true;
42340
42341 bool pass_result = false;
42342
42344
42345 if (parser.compile(expression_string, expression))
42346 {
42347 pass_result = true;
42348
42350 parser.dec().symbols(symb_list);
42351
42352 for (std::size_t i = 0; i < symb_list.size(); ++i)
42353 {
42354 symbol_set.insert(symb_list[i].first);
42355 }
42356 }
42357
42358 return pass_result;
42359 }
void disable_type_checking(Parser &p)
Definition exprtk.hpp:22517
exprtk::symbol_table< T > symbol_table_t
Definition exprtk.hpp:42288
exprtk::expression< T > expression_t
Definition exprtk.hpp:42289

References exprtk::collect_functions(), exprtk::parser< T >::dependent_entity_collector::collect_functions(), exprtk::collect_variables(), exprtk::parser< T >::dependent_entity_collector::collect_variables(), exprtk::parser< T >::compile(), exprtk::parser< T >::dec(), exprtk::details::disable_type_checking(), exprtk::parser< T >::enable_unknown_symbol_resolver(), exprtk::expression< T >::register_symbol_table(), and exprtk::parser< T >::dependent_entity_collector::symbols().

Here is the call graph for this function:

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