List of all members | Public Member Functions | Public Attributes | Private Attributes
utl::ExpressionParser< Grammar, Symbols > Class Template Reference

#include <ExpressionParser.h>

Inheritance diagram for utl::ExpressionParser< Grammar, Symbols >:
Inheritance graph
[legend]

Public Member Functions

 ExpressionParser ()=default
 
 ExpressionParser (utl::SymbolTable &variables)
 
int GetNVariables () const
 
double GetVariable (const std::string &name) const
 
SymbolTableGetVariables ()
 
const SymbolTableGetVariables () const
 
bool HasVariable (const std::string &name) const
 
 if (!info.hit)
 
else if (!info.full)
 
void SetVariable (const std::string &name, const double &v)
 
 while (!info.full &&info.hit)
 

Public Attributes

double const
 
 do
 
std::string expression = expression_in
 
std::string::iterator firstChar = expression.begin()
 
boost::spirit::parse_info
< std::string::iterator > 
info
 
const std::string::iterator lastChar = expression.end()
 
return result
 

Private Attributes

utl::SymbolTable fVariables
 

Detailed Description

template<class Grammar, class Symbols>
class utl::ExpressionParser< Grammar, Symbols >

Definition at line 46 of file ExpressionParser.h.

Constructor & Destructor Documentation

template<class Grammar, class Symbols>
utl::ExpressionParser< Grammar, Symbols >::ExpressionParser ( )
default
template<class Grammar, class Symbols>
utl::ExpressionParser< Grammar, Symbols >::ExpressionParser ( utl::SymbolTable variables)
inline

Definition at line 50 of file ExpressionParser.h.

Member Function Documentation

template<class Grammar, class Symbols>
int utl::ExpressionParser< Grammar, Symbols >::GetNVariables ( ) const
inline

Definition at line 95 of file ExpressionParser.h.

template<class Grammar, class Symbols>
double utl::ExpressionParser< Grammar, Symbols >::GetVariable ( const std::string &  name) const
inline

Definition at line 99 of file ExpressionParser.h.

template<class Grammar, class Symbols>
SymbolTable& utl::ExpressionParser< Grammar, Symbols >::GetVariables ( )
inline

Definition at line 93 of file ExpressionParser.h.

Referenced by utl::Function::GetVariables().

template<class Grammar, class Symbols>
const SymbolTable& utl::ExpressionParser< Grammar, Symbols >::GetVariables ( ) const
inline

Definition at line 94 of file ExpressionParser.h.

template<class Grammar, class Symbols>
bool utl::ExpressionParser< Grammar, Symbols >::HasVariable ( const std::string &  name) const
inline

Definition at line 97 of file ExpressionParser.h.

template<class Grammar, class Symbols>
utl::ExpressionParser< Grammar, Symbols >::if ( !info.  hit)
inline

Definition at line 70 of file ExpressionParser.h.

template<class Grammar, class Symbols>
else utl::ExpressionParser< Grammar, Symbols >::if ( !info.  full)
inline

Definition at line 84 of file ExpressionParser.h.

template<class Grammar, class Symbols>
void utl::ExpressionParser< Grammar, Symbols >::SetVariable ( const std::string &  name,
const double &  v 
)
inline

Definition at line 98 of file ExpressionParser.h.

Referenced by utl::Function::operator()().

template<class Grammar, class Symbols>
utl::ExpressionParser< Grammar, Symbols >::while ( !info.full &&info.  hit)

Member Data Documentation

template<class Grammar, class Symbols>
double utl::ExpressionParser< Grammar, Symbols >::const
Initial value:
{
double result = 0

Definition at line 55 of file ExpressionParser.h.

template<class Grammar, class Symbols>
utl::ExpressionParser< Grammar, Symbols >::do
Initial value:
{
info =
boost::spirit::parse(
(fVariables.empty() ?
Grammar(result, Symbols::GetSymbolMap()) :
Grammar(result, Symbols::GetSymbolMap(), fVariables)),
boost::spirit::space_p
)

Definition at line 61 of file ExpressionParser.h.

template<class Grammar, class Symbols>
std::string utl::ExpressionParser< Grammar, Symbols >::expression = expression_in

Definition at line 57 of file ExpressionParser.h.

template<class Grammar, class Symbols>
std::string::iterator utl::ExpressionParser< Grammar, Symbols >::firstChar = expression.begin()
template<class Grammar, class Symbols>
utl::SymbolTable utl::ExpressionParser< Grammar, Symbols >::fVariables
mutableprivate
template<class Grammar, class Symbols>
boost::spirit::parse_info<std::string::iterator> utl::ExpressionParser< Grammar, Symbols >::info

Definition at line 60 of file ExpressionParser.h.

template<class Grammar, class Symbols>
const std::string::iterator utl::ExpressionParser< Grammar, Symbols >::lastChar = expression.end()

Definition at line 59 of file ExpressionParser.h.

template<class Grammar, class Symbols>
return utl::ExpressionParser< Grammar, Symbols >::result

Definition at line 90 of file ExpressionParser.h.


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

, generated on Tue Sep 26 2023.