Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::ActionFunctor< H, V, S > Struct Template Referenceexport

A right action as a functor out of the delooping of the monoid it acts by: the one object to V, an element s to \(v \mapsto h(v, s)\). Its functor laws are the action's, \(h(v, 1) = v\) and \(h(h(v, a), b) = h(v, a \cdot b)\), which acting_monoid declares, so they are derived and not declared again. A left action registers the opposite operation, so it is a functor out of the opposite category. More...

Collaboration diagram for dedekind::category::ActionFunctor< H, V, S >:

Public Types

using Op = typename acting_monoid<H>::type
using Σ_cat = Delooping<S, Op>
using Τ_cat = ActingOn<H, V, S>
using Domain = Σ_cat
using Codomain = Τ_cat
template<typename U>
using Shape = V

Public Member Functions

constexpr Codomain operator() (const Domain &) const
constexpr Acting< H, V, S > operator() (const Element< S, Op > &s) const
constexpr IdentityIn< Τ_cat > operator() (const IdentityIn< Σ_cat > &) const
 The identity to the identity: the functor's unit law, at the type.

Public Attributes

H h {}

Detailed Description

template<std::semiregular H, std::semiregular V, std::semiregular S>
requires IsRightAction<H, V, S>
struct dedekind::category::ActionFunctor< H, V, S >

A right action as a functor out of the delooping of the monoid it acts by: the one object to V, an element s to \(v \mapsto h(v, s)\). Its functor laws are the action's, \(h(v, 1) = v\) and \(h(h(v, a), b) = h(v, a \cdot b)\), which acting_monoid declares, so they are derived and not declared again. A left action registers the opposite operation, so it is a functor out of the opposite category.

Template Parameters
Hthe action.
Vwhat it acts on.
Sthe monoid's carrier.

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