TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches

#include <nda/clef/function.hpp>

Detailed Description

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

Helper struct to simplify calls to nda::clef::eval.

It stores the object (usually a lazy expression) which we want to evaluate and takes integer labels of placeholders as template arguments.

See nda::clef::make_function for an example.

Template Parameters
TType of the object.
IsInteger labels of the placeholders in the expression.

Definition at line 52 of file function.hpp.

Public Member Functions

template<typename... Args>
__inline__ decltype(auto) operator() (Args &&...args) const
 Function call operator.
 

Public Attributes

obj
 Object to be evaluated.
 

Member Function Documentation

◆ operator()()

template<typename T , int... Is>
template<typename... Args>
__inline__ decltype(auto) nda::clef::make_fun_impl< T, Is >::operator() ( Args &&... args) const
inline

Function call operator.

The arguments together with the integer labels (template parameters of the class) are used to construct nda::clef::pair objects. The stored object and the pairs are then passed to the nda::clef::eval function to perform the evaluation.

Template Parameters
ArgsTypes of the function call arguments.
Parameters
argsFunction call arguments.
Returns
Result of the evaluation.

Definition at line 68 of file function.hpp.


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