|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Public Types | |
| using | Σ_cat = dedekind::category::CanonicalSetCCC<T> |
| using | Τ_cat = dedekind::category::CanonicalSetCCC<Matrix2x2V<T>> |
| using | Domain = Σ_cat |
| using | Codomain = Τ_cat |
| template<typename U> | |
| using | Shape = Matrix2x2V<U> |
Public Member Functions | |
|
template<typename 𝗳> requires dedekind::category::IsArrow<std::remove_cvref_t<𝗳>> | |
| constexpr Matrix2x2Map< T, std::remove_cvref_t< 𝗳 > > | operator() (𝗳 &&f) const |
| constexpr Τ_cat | operator() (const Σ_cat &) const noexcept |
Matrix2x2V<·> carries a 2×2 structural shape that is functorial in the element type T: an arrow f: T→T lifts elementwise to an arrow Matrix2x2V<T>→Matrix2x2V<T>. The functor type below owns that lift and witnesses dedekind::category::IsShapedFunctor; it complements vec2_functor / covec2_functor in :vec2, closing the (1×1, 2×1, 1×2, 2×2) shape family below.