template<typename Tag, typename... Ts>
struct nda::clef::expr< Tag, Ts >
Single node of the expression tree.
An expression node contains a tag that determines the type of expression and a tuple of child nodes which are usually either other expression nodes, nda::clef::placeholder objects or specific values/objects like an int or a double.
- Template Parameters
-
Tag | Tag of the expression. |
Ts | Types of the child nodes. |
Definition at line 76 of file expression.hpp.
|
| expr (expr &&ex) noexcept |
| Move constructor simply moves the child nodes from the source expression.
|
|
| expr (expr const &)=default |
| Default copy constructor.
|
|
template<typename... Us> |
| expr (Tag, Us &&...us) |
| Construct an expression node with a given tag and child nodes.
|
|
template<typename... Args> |
auto | operator() (Args &&...args) const |
| Function call operator.
|
|
expr & | operator= (expr &&)=default |
| Default move assignment operator.
|
|
expr & | operator= (expr const &)=delete |
| Copy assignment operator is deleted.
|
|
template<typename... Args> |
auto | operator[] (Args &&...args) const |
| Subscript operator.
|
|