Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::sets::SetExpr< Derived, DomainT, L > Struct Template Referenceexport

Opt-in CRTP base that supplies the ETCS set surface to a specialized set expression. It provides Member, ι (the subobject inclusion), Codomain, logic_species, and the set-lattice trait members. It keys the classifier χ off the Derived's own operator(). More...

Inheritance diagram for dedekind::sets::SetExpr< Derived, DomainT, L >:

Classes

struct  Member
 A member is a carrier value; ι projects it back into the ambient (the subobject inclusion the ETCS axioms read). More...

Public Types

using Domain = DomainT
using Codomain = typename L::Ω
using logic_species = L

Public Member Functions

constexpr DomainT ι (const Member &m) const

Detailed Description

template<typename Derived, typename DomainT, typename L>
struct dedekind::sets::SetExpr< Derived, DomainT, L >

Opt-in CRTP base that supplies the ETCS set surface to a specialized set expression. It provides Member, ι (the subobject inclusion), Codomain, logic_species, and the set-lattice trait members. It keys the classifier χ off the Derived's own operator().

This makes IsSet reachable by inheritance for expression structs (Comprehension, and any wrapper that is "morally a set"), removing the surface boilerplate each would otherwise duplicate. It is opt-in, never a precondition: IsSet stays a structural concept, and a leaf may satisfy it by hand. The Derived must expose operator()(Domain)→ Codomain (its χ).


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