f on the value an optional holds, none where it holds none: the optional functor's action on an arrow. Its codomain is stated, so an arrow into optionals lifts to one into optionals of optionals, as a Kleisli extension needs, and is never collapsed by deduction.
More...
|
|
using | Domain = std::optional<T> |
| using | Codomain |
|
|
constexpr Codomain | operator() (const Domain &m) const |
template<typename T, typename F>
requires std::invocable<const F&, const T&>
struct dedekind::category::MaybeMap< T, F >
f on the value an optional holds, none where it holds none: the optional functor's action on an arrow. Its codomain is stated, so an arrow into optionals lifts to one into optionals of optionals, as a Kleisli extension needs, and is never collapsed by deduction.
- Template Parameters
-
| T | the element. |
| F | the arrow. |
◆ Codomain
template<typename T, typename F>
Initial value:
std::optional<
std::remove_cvref_t<std::invoke_result_t<const F&, const T&>>>
The documentation for this struct was generated from the following file: