EnTT 3.14.0
|
Basic implementation of a y-combinator. More...
#include <utility.hpp>
Public Member Functions | |
constexpr | y_combinator (Func recursive) noexcept(std::is_nothrow_move_constructible_v< Func >) |
Constructs a y-combinator from a given function. | |
template<typename... Args> | |
constexpr decltype(auto) | operator() (Args &&...args) const noexcept(std::is_nothrow_invocable_v< Func, const y_combinator &, Args... >) |
Invokes a y-combinator and therefore its underlying function. | |
template<typename... Args> | |
constexpr decltype(auto) | operator() (Args &&...args) noexcept(std::is_nothrow_invocable_v< Func, y_combinator &, Args... >) |
Invokes a y-combinator and therefore its underlying function. | |
Basic implementation of a y-combinator.
Func | Type of a potentially recursive function. |
Definition at line 70 of file utility.hpp.
|
inlineconstexprnoexcept |
Constructs a y-combinator from a given function.
recursive | A potentially recursive function. |
Definition at line 75 of file utility.hpp.
|
inlineconstexprnoexcept |
Invokes a y-combinator and therefore its underlying function.
Args | Types of arguments to use to invoke the underlying function. |
args | Parameters to use to invoke the underlying function. |
Definition at line 85 of file utility.hpp.
|
inlineconstexprnoexcept |
Invokes a y-combinator and therefore its underlying function.
Args | Types of arguments to use to invoke the underlying function. |
args | Parameters to use to invoke the underlying function. |
Definition at line 91 of file utility.hpp.