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

Composite Functor G . F (Maps CatS -> CatT -> CatU). More...

Collaboration diagram for dedekind::category::composite_functor< F, G >:

Public Types

using Σ_cat = typename F::Σ_cat
using Τ_cat = typename G::Τ_cat
using Domain = typename F::Domain
using Codomain = typename G::Codomain
template<typename U>
using Shape = typename G::template Shape<typename F::template Shape<U>>

Public Member Functions

template<typename A>
requires IsArrow<std::remove_cvref_t<A>>
constexpr auto operator() (A f) const
 The composite's action on arrows: (G ∘ F)(f) = G(F(f)). Chaining the functorial lift.
constexpr Codomain operator() (const Domain &c) const
 Object Mapping: (G . F)(c) = G(F(c)).

Public Attributes

F first {}
G second {}

Detailed Description

template<IsShapedFunctor F, IsShapedFunctor G>
requires std::same_as<typename F::Τ_cat, typename G::Σ_cat>
struct dedekind::category::composite_functor< F, G >

Composite Functor G . F (Maps CatS -> CatT -> CatU).

Verifies that the target of the first functor matches the source of the second, maintaining the structural spine. This is a concrete IsShapedFunctor model whenever F and G are composable functors.


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