Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::maybe_functor< T > Struct Template Referenceexport

The Intensional Functor for Optional (Maybe) values. More...

Public Types

using Σ_cat = Set<T>
using Τ_cat = Set<std::optional<T>>
using Domain = Σ_cat
using Codomain = Τ_cat
template<typename U>
using Shape = std::optional<U>

Public Member Functions

template<typename 𝗳>
requires IsArrow<std::remove_cvref_t<𝗳>>
constexpr MaybeMap< T, std::remove_cvref_t< 𝗳 > > operator() (𝗳 f) const
 The action on arrows, F(f), short-circuiting on the empty value.
constexpr Τ_cat operator() (const Σ_cat &) const noexcept

Detailed Description

template<typename T>
struct dedekind::category::maybe_functor< T >

The Intensional Functor for Optional (Maybe) values.

Concrete IsShapedFunctor model implementing Set<T> -> Set<std::optional<T>>.


The documentation for this struct was generated from the following file: