|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
A type that plays the role of a terminal object — either the canonical global One (std::monostate, the unique terminal of the ambient category of sets) or an opt-in structural witness via the is_terminal_object_tag typedef.
More...
A type that plays the role of a terminal object — either the canonical global One (std::monostate, the unique terminal of the ambient category of sets) or an opt-in structural witness via the is_terminal_object_tag typedef.
The strict std::same_as<T, One> branch is the historical reading: One is the unique terminal in the umbrella category Set. The tag-discovery branch admits structural witness types declared downstream — e.g. :lattice::LatticeTop<T, Rel> registers itself as a terminal object of the lattice over (T, Rel) viewed as a thin category (#698 Slice 4).
Categorical content: initial / terminal exist relative to a category. The strict global reading covers Set; the tag-based extension lets sub-categories (lattices, posets, …) name their own terminal-witness types without parameterising the concept by category.