#include <nda/clef/eval.hpp>
template<typename Tag, typename... Childs, typename... Pairs>
struct nda::clef::evaluator< expr< Tag, Childs... >, Pairs... >
Specialization of nda::clef::evaluator for nda::clef::expr types.
- Template Parameters
-
Tag | Tag of the expression. |
Childs | Types of the child nodes. |
Pairs | Types of the nda::clef::pair objects. |
Definition at line 148 of file eval.hpp.
|
__inline__ decltype(auto) | operator() (expr< Tag, Childs... > const &ex, Pairs &...pairs) const |
| Evaluate the given expression by applying the given nda::clef::pair objects.
|
|
|
static constexpr bool | is_lazy = (evaluator<Childs, Pairs...>::is_lazy or ...) |
| Constexpr variable that is true if any of the evaluators of the child nodes is lazy.
|
|
◆ operator()()
template<typename Tag , typename... Childs, typename... Pairs>
__inline__ decltype(auto) nda::clef::evaluator< expr< Tag, Childs... >, Pairs... >::operator() |
( |
expr< Tag, Childs... > const & | ex, |
|
|
Pairs &... | pairs ) const |
|
inlinenodiscard |
Evaluate the given expression by applying the given nda::clef::pair objects.
- Note
- Depending on the given expression as well as the the given pairs, the result of the evaluation might be again a lazy expression.
- Parameters
-
ex | Expression to be evaluated. |
pairs | nda::clef::pair objects to be applied to the expression. |
- Returns
- The result of the evaluation (calls nda::clef::op_dispatch indirectly through a helper function).
Definition at line 170 of file eval.hpp.
The documentation for this struct was generated from the following file: