TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
make_lazy.hpp File Reference
#include "./expression.hpp"
#include "./utils.hpp"
#include <utility>

Detailed Description

Provides functionality to make objects, functions and methods lazy.

Definition in file make_lazy.hpp.

Go to the source code of this file.

Macros

#define CLEF_IMPLEMENT_LAZY_CALL(...)
 Macro to make any function call operator lazy, i.e. accept lazy arguments and return a function call expression node.
 
#define CLEF_IMPLEMENT_LAZY_METHOD(TY, name)
 Macro to make any method lazy, i.e. accept lazy arguments and return a function call expression node.
 
#define CLEF_MAKE_FNT_LAZY(name)
 Macro to make any function lazy, i.e. accept lazy arguments and return a function call expression node.
 

Functions

template<typename T >
auto nda::clef::make_expr (T &&t)
 Create a terminal expression node of an object.
 
template<typename F , typename... Args>
requires (is_any_lazy<Args...>)
auto nda::clef::make_expr_call (F &&f, Args &&...args)
 Create a function call expression from a callable object and a list of arguments.
 
template<typename T >
auto nda::clef::make_expr_from_clone (T &&t)
 Create a terminal expression node of an object.
 
template<typename T , typename... Args>
requires (is_any_lazy<Args...>)
auto nda::clef::make_expr_subscript (T &&t, Args &&...args)
 Create a subscript expression from an object and a list of arguments.