OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
matheval::detail::SimpleMathParser< real_t > Class Template Reference

#include <matheval.hpp>

Collaboration diagram for matheval::detail::SimpleMathParser< real_t >:
Collaboration graph

Public Member Functions

 SimpleMathParser (const std::string &input)
 
expr_ast< real_t > parse ()
 

Private Member Functions

void skipWhitespace ()
 
bool match (char c)
 
bool match (const std::string &str)
 
void expect (char c)
 
expr_ast< real_t > parseExpression ()
 
expr_ast< real_t > parseTerm ()
 
expr_ast< real_t > parseFactor ()
 
expr_ast< real_t > parsePrimary ()
 
expr_ast< real_t > parseNumber ()
 
std::string parseIdentifier ()
 

Static Private Member Functions

static const std::map< std::string, real_t > & getConstants ()
 
static const std::map< std::string, typename unary_op< real_t >::op_t > & getUnaryFunctions ()
 
static const std::map< std::string, typename binary_op< real_t >::op_t > & getBinaryFunctions ()
 

Private Attributes

std::string input_
 
size_t pos_
 

Detailed Description

template<typename real_t>
class matheval::detail::SimpleMathParser< real_t >

Definition at line 409 of file matheval.hpp.

Constructor & Destructor Documentation

◆ SimpleMathParser()

template<typename real_t >
matheval::detail::SimpleMathParser< real_t >::SimpleMathParser ( const std::string &  input)
inline

Definition at line 411 of file matheval.hpp.

Member Function Documentation

◆ expect()

template<typename real_t >
void matheval::detail::SimpleMathParser< real_t >::expect ( char  c)
inlineprivate

Definition at line 453 of file matheval.hpp.

◆ getBinaryFunctions()

template<typename real_t >
static const std::map< std::string, typename binary_op< real_t >::op_t > & matheval::detail::SimpleMathParser< real_t >::getBinaryFunctions ( )
inlinestaticprivate

Definition at line 666 of file matheval.hpp.

◆ getConstants()

template<typename real_t >
static const std::map< std::string, real_t > & matheval::detail::SimpleMathParser< real_t >::getConstants ( )
inlinestaticprivate

Definition at line 619 of file matheval.hpp.

◆ getUnaryFunctions()

template<typename real_t >
static const std::map< std::string, typename unary_op< real_t >::op_t > & matheval::detail::SimpleMathParser< real_t >::getUnaryFunctions ( )
inlinestaticprivate

Definition at line 629 of file matheval.hpp.

◆ match() [1/2]

template<typename real_t >
bool matheval::detail::SimpleMathParser< real_t >::match ( char  c)
inlineprivate

Definition at line 435 of file matheval.hpp.

◆ match() [2/2]

template<typename real_t >
bool matheval::detail::SimpleMathParser< real_t >::match ( const std::string &  str)
inlineprivate

Definition at line 444 of file matheval.hpp.

◆ parse()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parse ( )
inline

Definition at line 413 of file matheval.hpp.

Referenced by matheval::detail::parse().

◆ parseExpression()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parseExpression ( )
inlineprivate

Definition at line 459 of file matheval.hpp.

◆ parseFactor()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parseFactor ( )
inlineprivate

Definition at line 491 of file matheval.hpp.

◆ parseIdentifier()

template<typename real_t >
std::string matheval::detail::SimpleMathParser< real_t >::parseIdentifier ( )
inlineprivate

Definition at line 602 of file matheval.hpp.

◆ parseNumber()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parseNumber ( )
inlineprivate

Definition at line 561 of file matheval.hpp.

◆ parsePrimary()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parsePrimary ( )
inlineprivate

Definition at line 500 of file matheval.hpp.

◆ parseTerm()

template<typename real_t >
expr_ast< real_t > matheval::detail::SimpleMathParser< real_t >::parseTerm ( )
inlineprivate

Definition at line 473 of file matheval.hpp.

◆ skipWhitespace()

template<typename real_t >
void matheval::detail::SimpleMathParser< real_t >::skipWhitespace ( )
inlineprivate

Definition at line 428 of file matheval.hpp.

Member Data Documentation

◆ input_

template<typename real_t >
std::string matheval::detail::SimpleMathParser< real_t >::input_
private

Definition at line 425 of file matheval.hpp.

◆ pos_

template<typename real_t >
size_t matheval::detail::SimpleMathParser< real_t >::pos_
private

Definition at line 426 of file matheval.hpp.


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