OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
matheval::detail Namespace Reference

Namespaces

namespace  math

Classes

struct  unary_op
 Store a unary operator and its argument tree. More...
struct  binary_op
 Store a binary operator and its argument trees. More...
struct  nil
struct  expr_ast
 Abstract Syntax Tree. More...
class  eval_ast
 Evaluate the Abstract Syntax Tree. More...
struct  holds_alternative_impl
struct  ConstantFolder
struct  unary_expr_
 Unary expression functor. More...
struct  binary_expr_
 Binary expression functor. More...
struct  expectation_handler
 Error handler for expectation errors. More...
struct  grammar
 Expression Grammar. More...

Functions

template<typename T, typename... Ts>
bool holds_alternative (boost::variant< Ts... > const &v)
template<typename real_t, typename Iterator>
detail::expr_ast< real_t > parse (Iterator first, Iterator last)
 Parse an expression.

Class Documentation

◆ matheval::detail::nil

struct matheval::detail::nil

Definition at line 87 of file matheval.hpp.

Collaboration diagram for matheval::detail::nil:

Function Documentation

◆ holds_alternative()

template<typename T, typename... Ts>
bool matheval::detail::holds_alternative ( boost::variant< Ts... > const & v)

Definition at line 275 of file matheval.hpp.

Referenced by matheval::detail::ConstantFolder< real_t >::operator()(), and matheval::detail::ConstantFolder< real_t >::operator()().

Here is the caller graph for this function:

◆ parse()

template<typename real_t, typename Iterator>
detail::expr_ast< real_t > matheval::detail::parse ( Iterator first,
Iterator last )

Parse an expression.

This function builds the grammar and parses the iterator into an AST.

Parameters
[in]firstiterator to the start of the input sequence
[in]lastiterator to the end of the input sequence

Definition at line 554 of file matheval.hpp.

Referenced by matheval::Parser< real_t >::parse().

Here is the caller graph for this function: