17namespace ap::action::detail {
35template <c_value_action_specifier AS, ap::detail::c_argument_value_type T>
39template <ap::detail::c_argument_value_type T>
49template <ap::detail::c_argument_value_type T>
58 action(std::as_const(
value));
The concept is satisfied when AS is a valid action action specifier.
The concept is satisfied when AS is a valid value action action specifier.
Validates that T is the same as one of the types defined by Types.
Defies the action specifier types.
A visitor structure used to apply value actions.
value_type & value
A reference to the argument's value for which the action will be applied.
void operator()(const callable_type< action_type::observe, value_type > &action) const
The call operator overload for the observe action type.
void operator()(const callable_type< action_type::modify, value_type > &action) const
The call operator overload for the modify action type.
void operator()(const callable_type< action_type::transform, value_type > &action) const
The call operator overload for the transform action type.
typename AS::template type< T > callable_type
Template argument action callable type alias.
std::variant< callable_type< action_type::observe, T >, callable_type< action_type::transform, T >, callable_type< action_type::modify, T > > value_action_variant_type
Template argument action callabla variant type alias.