iris::build::Arms< D, P > 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 arms of a sections block: each arm is a pattern that starts a section, with or without a body. More...
#include <iris/build.hpp>
Public Member Functions | |
| void | arm (PatternArg text, ArmOptions options={}, std::source_location site=std::source_location::current()) |
| An arm without a body. | |
| template<class F> requires std::invocable<F, Scope<D, P> &> | |
| std::invoke_result_t< F, Scope< D, P > & > | arm (PatternArg text, F &&body, std::source_location site=std::source_location::current()) |
| An arm with a body; returns the result of the body. | |
| template<class F> requires std::invocable<F, Scope<D, P> &> | |
| std::invoke_result_t< F, Scope< D, P > & > | arm (PatternArg text, ArmOptions options, F &&body, std::source_location site=std::source_location::current()) |
| An arm with options and a body; returns the result of the body. | |
| void | optional_arm (PatternArg text, ArmOptions options={}, std::source_location site=std::source_location::current()) |
| An optional arm without a body. | |
| template<class F> requires std::invocable<F, Scope<D, Presence::Maybe> &> | |
| std::invoke_result_t< F, Scope< D, Presence::Maybe > & > | optional_arm (PatternArg text, F &&body, std::source_location site=std::source_location::current()) |
| An optional arm with a body, whose statements may not run; 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 > & > | optional_arm (PatternArg text, ArmOptions options, F &&body, std::source_location site=std::source_location::current()) |
| An optional arm with options and a body; returns the result of the body. | |
Detailed Description
template<std::size_t D = 0, Presence P = Presence::Required>
class iris::build::Arms< D, P >
class iris::build::Arms< D, P >
The arms of a sections block: each arm is a pattern that starts a section, with or without a body.
Member Function Documentation
arm() [1/3]
template<std::size_t D = 0, Presence P = Presence::Required>
template<class F>
requires std::invocable<F, Scope<D, P> &>
requires std::invocable<F, Scope<D, P> &>
|
inline |
An arm with options and a body; returns the result of the body.
arm() [2/3]
template<std::size_t D = 0, Presence P = Presence::Required>
|
inline |
An arm without a body.
arm() [3/3]
template<std::size_t D = 0, Presence P = Presence::Required>
template<class F>
requires std::invocable<F, Scope<D, P> &>
requires std::invocable<F, Scope<D, P> &>
|
inline |
An arm with a body; returns the result of the body.
optional_arm() [1/3]
template<std::size_t D = 0, Presence P = Presence::Required>
|
inline |
An optional arm with options and a body; returns the result of the body.
optional_arm() [2/3]
template<std::size_t D = 0, Presence P = Presence::Required>
|
inline |
An optional arm without a body.
optional_arm() [3/3]
template<std::size_t D = 0, Presence P = Presence::Required>
|
inline |
An optional arm with a body, whose statements may not run; returns the result of the body.