|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Marker trait: T is a non-cyclic ordered additive group whose order is translation-invariant, with the saturating escape contract for values that would exceed representable capacity.
More...


Marker trait: T is a non-cyclic ordered additive group whose order is translation-invariant, with the saturating escape contract for values that would exceed representable capacity.
Defaults to false. Carriers opt in via specialisation when their arithmetic is not cyclic — i.e. they saturate or escalate (e.g. to \(\pm \aleph_0\) sentinels) rather than wrapping at the representable bound. Saturation preserves the partial order \(\le\) under translation (if a <= b then a+c <= b+c, including the case where both saturate to the same sentinel); wrapping does not (the modular wrap reverses the order at the boundary).
NaZ for indeterminate forms in the project's SignedCardinality variant), keeping translation-invariance honest including at the boundary. Modular carriers (unsigned int, the finite sets::SignedExtensionalCardinal) wrap, reversing order; they fail the marker by default.sets::SignedCardinality, sets::Cardinality) precisely so they would be bona-fide proxies for \(\mathbb{Z}\) / \(\mathbb{N}\) rather than cyclic (cf. cardinality.cppm:878-967 — "@c SignedCardinality
is the signed counterpart of @c Cardinality (the ℕ ∪ ℵ_0
variant): ... saturating ... not periodic ... the library's
bona-fide proxy for ℤ modulo physical limits"). The marker opt-in below honours that effort: it is specialised for SignedCardinality, not for the cyclic finite-fragment SignedExtensionalCardinal.