File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change 4574
4574
\libconcept {StrictTotallyOrdered}\iref {concept.stricttotallyordered }.
4575
4575
\end {itemize }
4576
4576
4577
+ \begin {codeblock }
4578
+ template <typename T, typename U, typename Cat = partial_ordering>
4579
+ concept ThreeWayComparableWith =
4580
+ @\placeholdernc {weakly-equality-comparable-with}@<T, U> &&
4581
+ (!ConvertibleTo<Cat, partial_ordering> || @\placeholdernc {partially-ordered-with}@<T, U>) &&
4582
+ ThreeWayComparable<T, Cat> &&
4583
+ ThreeWayComparable<U, Cat> &&
4584
+ CommonReference<const remove_reference_t<T>&, const remove_reference_t<U>&> &&
4585
+ ThreeWayComparable<
4586
+ common_reference_t<const remove_reference_t<T>&, const remove_reference_t<U>&>, Cat> &&
4587
+ requires(const remove_reference_t<T>& t, const remove_reference_t<U>& u) {
4588
+ { t <=> u } -> @\placeholdernc {compares-as}@<Cat>;
4589
+ { u <=> t } -> @\placeholdernc {compares-as}@<Cat>;
4590
+ };
4591
+ \end {codeblock }
4592
+
4577
4593
\pnum
4578
4594
Let \tcode {t} and \tcode {u} be lvalues
4579
4595
of types \tcode {const remove_reference_t<T>} and
You can’t perform that action at this time.
0 commit comments