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

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

Detailed Description

template<typename T>
requires std::semiregular<T> && dedekind::algebra::HasRingOperators<T>
struct dedekind::linear_algebra::vec2_functor< T >

tuple__Functorial_Hubs

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.


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