#include <nda/clef/placeholder.hpp>
template<int N>
struct nda::clef::placeholder< N >
A placeholder is an empty struct, labelled by an int.
It is used in lazy expressions. For example:
__inline__ decltype(auto) eval(T const &obj, Pairs &&...pairs)
Generic function to evaluate expressions and other types.
Single node of the expression tree.
A placeholder is an empty struct, labelled by an int.
Here expr
is a lazy binary nda::clef::expr with the nda::clef::tags::plus tag, which can be evaluated later on with the nda::clef::eval function and by assigning values to the placeholders (see nda::clef::pair).
- Template Parameters
-
N | Integer label (must be < 64). |
Definition at line 61 of file placeholder.hpp.
|
template<typename... Args> |
auto | operator() (Args &&...args) const |
| Function call operator.
|
|
template<typename RHS > |
pair< N, RHS > | operator= (RHS &&rhs) const |
| Assign a value to the placeholder.
|
|
template<typename T > |
auto | operator[] (T &&t) const |
| Subscript operator.
|
|
|
static constexpr int | index = N |
| Integer label.
|
|
◆ operator()()
template<int N>
template<typename... Args>
Function call operator.
- Template Parameters
-
Args | Types of the function call arguments. |
- Parameters
-
args | Function call arguments. |
- Returns
- An nda::clef::expr object with the nda::clef::tags::function tag containing the placeholder (for the callable) and the given arguments.
Definition at line 88 of file placeholder.hpp.
◆ operator=()
template<int N>
template<typename RHS >
Assign a value to the placeholder.
- Template Parameters
-
RHS | Type of the right-hand side. |
- Parameters
-
rhs | Right-hand side of the assignment. |
- Returns
- An nda::clef::pair object, containing the integer label of the placeholder and the value assigned to it.
Definition at line 75 of file placeholder.hpp.
◆ operator[]()
template<int N>
template<typename T >
The documentation for this struct was generated from the following file: