Skip to content

Commit 670f36c

Browse files
authored
Merge 2025-11 LWG Motion 13
P3778R0 Fix for type_order template definition
2 parents 5014a9c + f7d35a5 commit 670f36c

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

source/support.tex

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5720,16 +5720,17 @@
57205720

57215721
\indexlibraryglobal{type_order}%
57225722
\begin{itemdecl}
5723-
template<class T, class U>
5724-
struct type_order;
5723+
template<class T, class U> struct type_order {
5724+
static constexpr strong_ordering @\libmember{value}{type_order}@ = @\exposid{TYPE-ORDER}@(T, U);
5725+
5726+
using @\libmember{value_type}{type_order}@ = strong_ordering;
5727+
5728+
constexpr @\libmember{operator value_type}{type_order}@() const noexcept { return value; }
5729+
constexpr value_type @\libmember{operator()}{type_order}@() const noexcept { return value; }
5730+
};
57255731
\end{itemdecl}
57265732

57275733
\begin{itemdescr}
5728-
\pnum
5729-
The name \tcode{type_order} denotes a \oldconcept{BinaryTypeTrait}\iref{meta.rqmts}
5730-
with a base characteristic of
5731-
\tcode{inte\-gral_constant<strong_ordering, \exposid{TYPE-ORDER}(T, U)>}.
5732-
57335734
\pnum
57345735
If an explicit specialization or partial specialization of \tcode{type_order} is declared,
57355736
the program is ill-formed.

0 commit comments

Comments
 (0)