iris::build::If< D, P, R > Class Template Reference
Doxygen 1.15.0 generates this reference during each site build from the public headers. The C++ guide shows the API in use.
The branch of an if: else_if, else_ and else_read_if continue it, each directly after the branch before. More...
#include <iris/build.hpp>
Public Member Functions | |
| template<class T = R> requires (!std::is_void_v<T>) | |
| T & | result () |
| Return the result of the body of the if. | |
| template<Operand C, class F> requires std::invocable<F, Scope<D, Presence::Maybe> &> | |
| std::invoke_result_t< F, Scope< D, Presence::Maybe > & > | else_if (C &&condition, F &&body, std::source_location site=std::source_location::current()) |
| else if condition { body }; returns the result of the body | |
| template<class F> requires std::invocable<F, Scope<D, Presence::Maybe> &> | |
| std::invoke_result_t< F, Scope< D, Presence::Maybe > & > | else_ (F &&body, std::source_location site=std::source_location::current()) |
| else { body }; returns the result of the body | |
| template<class T, TypeLike Ty> | |
| detail::TargetOut< T, TypeValue< Ty >, detail::plus(D, type_dims< Ty >), Presence::Maybe > | else_read_if (const T &target, const Ty &type, std::source_location site=std::source_location::current()) |
| else if:type, a declaration of the name if as the else branch; target must be "if" | |
Detailed Description
template<std::size_t D, Presence P, class R>
class iris::build::If< D, P, R >
class iris::build::If< D, P, R >
The branch of an if: else_if, else_ and else_read_if continue it, each directly after the branch before.
- Template Parameters
-
R the result of the body of the if
Member Function Documentation
else_()
template<std::size_t D, Presence P, class R>
|
inline |
else { body }; returns the result of the body
else_if()
template<std::size_t D, Presence P, class R>
|
inline |
else if condition { body }; returns the result of the body
else_read_if()
template<std::size_t D, Presence P, class R>
template<class T, TypeLike Ty>
|
inline |
else if:type, a declaration of the name if as the else branch; target must be "if"
result()
template<std::size_t D, Presence P, class R>
template<class T = R>
requires (!std::is_void_v<T>)
requires (!std::is_void_v<T>)
|
inlinenodiscard |
Return the result of the body of the if.