|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Public Types | |
| using | Σ_cat = dedekind::category::CanonicalSetCCC<T> |
| using | Τ_cat = dedekind::category::CanonicalSetCCC<Vec2V<T>> |
| using | Domain = Σ_cat |
| using | Codomain = Τ_cat |
| template<typename U> | |
| using | Shape = Vec2V<U> |
Public Member Functions | |
|
template<typename 𝗳> requires dedekind::category::IsArrow<std::remove_cvref_t<𝗳>> | |
| constexpr Vec2Map< T, std::remove_cvref_t< 𝗳 > > | operator() (𝗳 &&f) const |
| constexpr Τ_cat | operator() (const Σ_cat &) const noexcept |
Vec2V<·> and Covec2V<·> carry a structural shape (2×1 / 1×2 with element type T) that is functorial in T: an arrow f: T→T lifts elementwise to an arrow Vec2V<T>→Vec2V<T> (resp. Covec). The functor types below own that lift and witness dedekind::category::IsShapedFunctor for each shape. They mirror dedekind::category::maybe_functor in pattern.