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

The retract of an IsIsomorphism: its total inverse arrow wrapped in an always-engaged std::optional. More...

Collaboration diagram for dedekind::category::IsoRetract< F >:

Public Member Functions

constexpr Maybe< Dom< F > > operator() (const Cod< F > &y) const

Public Attributes

F f

Detailed Description

template<typename F>
struct dedekind::category::IsoRetract< F >

The retract of an IsIsomorphism: its total inverse arrow wrapped in an always-engaged std::optional.

Every iso \(f:A\to B\) has a two-sided inverse \(f^{-1}:B\to A\), so its retract is total: retract(f)(y) is always Some(f^{-1}(y)), built through the maybe unit η(maybe_monad, ·) rather than a raw std::optional constructor. A named functor (not a lambda) so the type is nameable and the closure is transparent.

Template Parameters
FThe iso arrow type.

The documentation for this struct was generated from the following file:
  • src/main/modules/dedekind/category/iso.cppm