TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
nda::clef::evaluator< make_fun_impl< T, Is... >, Pairs... >

#include <nda/clef/function.hpp>

Detailed Description

template<typename T, int... Is, typename... Pairs>
struct nda::clef::evaluator< make_fun_impl< T, Is... >, Pairs... >

Specialization of nda::clef::evaluator for nda::clef::make_fun_impl types.

Template Parameters
TType of the object stored in the nda::clef::make_fun_impl object.
IsInteger labels of the nda::clef::make_fun_impl type.
PairsTypes of the nda::clef::pair objects.

Definition at line 115 of file function.hpp.

Public Types

using e_t = evaluator<T, Pairs...>
 Type of the evaluator used.
 

Public Member Functions

__inline__ decltype(auto) operator() (make_fun_impl< T, Is... > const &f, Pairs &...pairs) const
 Evaluate the nda::clef::make_fun_impl object.
 

Static Public Attributes

static constexpr bool is_lazy = (detail::ph_set<make_fun_impl<T, Is...>>::value != detail::ph_set<Pairs...>::value)
 Constexpr variable that is true if all the placeholders are assigned a value.
 

Member Function Documentation

◆ operator()()

template<typename T , int... Is, typename... Pairs>
__inline__ decltype(auto) nda::clef::evaluator< make_fun_impl< T, Is... >, Pairs... >::operator() ( make_fun_impl< T, Is... > const & f,
Pairs &... pairs ) const
inline

Evaluate the nda::clef::make_fun_impl object.

It first evaluates the object stored in the given nda::clef::make_fun_impl object by applying the given pairs. The result is then used to construct a new nda::clef::make_fun_impl instance together with the placeholders from the original nda::clef::make_fun_impl object.

Parameters
fnda::clef::make_fun_impl object.
pairsnda::clef::pair objects.
Returns
nda::clef::make_fun_impl object containing the evaluated expression.

Definition at line 133 of file function.hpp.


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