Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::order::HasPartialOrderOperatorsWith Concept Referenceexport

Heterogeneous shape: T and U can be compared via the four partial-order operators in both directions, yielding results in the truth-value carrier L::Ω. More...

Concept definition

template<typename T, typename U, typename L Boole>
concept dedekind::order::HasPartialOrderOperatorsWith = requires(const T t, const U u) {
{ t < u } -> std::same_as<typename L::Ω>;
{ t <= u } -> std::same_as<typename L::Ω>;
{ t > u } -> std::same_as<typename L::Ω>;
{ t >= u } -> std::same_as<typename L::Ω>;
{ u < t } -> std::same_as<typename L::Ω>;
{ u <= t } -> std::same_as<typename L::Ω>;
{ u > t } -> std::same_as<typename L::Ω>;
{ u >= t } -> std::same_as<typename L::Ω>;
}
Heterogeneous shape: T and U can be compared via the four partial-order operators in both directions,...
Definition poset.cppm:161

Detailed Description

Heterogeneous shape: T and U can be compared via the four partial-order operators in both directions, yielding results in the truth-value carrier L::Ω.

The cross-type relational-operator shape: requires <, <=, >, >= to compile in both directions and yield results in L::Ω. Names the surface needed for cross-carrier comparisons — e.g. SignedCardinality < int (the load-bearing path for the halfspace machinery's (x > Pivot) substitution where x is the variant ℤ-proxy carrier and Pivot is the int NTTP from -21).

L defaults to Boole, mirroring the homogeneous sibling above and IsPreOrdered / IsPartiallyOrdered.

Sibling of the homogeneous HasPartialOrderOperators above; the spaceship-aware total-order variant HasTotalOrderOperatorsWith<T, U> lives in :order:total. Per #415 / cross-issue note on PR #422.