18 using type = std::remove_cvref_t<T>;
32 using type = std::remove_cvref_t<T>;
45 using type = std::remove_cvref_t<T>;
58 using type = std::remove_cvref_t<T>;
71 using type = std::remove_cvref_t<T>;
87 static_assert(!std::is_reference_v<T>,
88 "value_t<T> must store a non-reference type");
179[[nodiscard]]
constexpr auto value(T&& v)
181 using stored_t = std::remove_cvref_t<T>;
constexpr auto borrow_prev() noexcept -> borrow_prev_t< std::remove_cvref_t< T > >
Creates a spec that borrows T from the direct parent output slot as const T&.
constexpr auto from_ctx() noexcept -> from_ctx_t< std::remove_cvref_t< T > >
Creates a spec that asks execution to fetch T from the context.
constexpr auto copy_prev() noexcept -> copy_prev_t< std::remove_cvref_t< T > >
Creates a spec that copies T from the direct parent output slot as a new value.
constexpr auto value(T &&v) -> value_t< std::remove_cvref_t< T > >
Wraps a value as an owning spec.
constexpr auto consume_prev() noexcept -> consume_prev_t< std::remove_cvref_t< T > >
Creates a spec that consumes T from the direct parent output slot.
constexpr auto borrow_prev_mut() noexcept -> borrow_prev_mut_t< std::remove_cvref_t< T > >
Creates a spec that borrows T from the direct parent output slot as T&.
Describes a parameter that borrows the direct parent output as T&.
std::remove_cvref_t< T > type
Canonical parent payload type used for lookup.
Describes a parameter that borrows the direct parent output as const T&.
std::remove_cvref_t< T > type
Canonical parent payload type used for lookup.
Describes a parameter that consumes the direct parent output.
std::remove_cvref_t< T > type
Canonical parent payload type used for lookup.
Describes a parameter that copies the direct parent output as T.
std::remove_cvref_t< T > type
Canonical parent payload type used for lookup.
Describes a parameter sourced from the execution context by type.
std::remove_cvref_t< T > type
Canonical context key type used for lookup.
Stores a concrete value inside a spec.
T stored_type
Materialized type kept by this spec.
T v
Owned payload forwarded from value(...).