From c4c6adc72389fcf0f895b1feb7ec38dd011e0e1e Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 12 Nov 2025 22:45:05 +0000 Subject: [PATCH 1/2] P3778R0 Fix for type_order template definition --- source/support.tex | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/source/support.tex b/source/support.tex index c6929d58ff..6fe4e0ddb7 100644 --- a/source/support.tex +++ b/source/support.tex @@ -5738,16 +5738,17 @@ \indexlibraryglobal{type_order}% \begin{itemdecl} -template - struct type_order; +template struct type_order { + static constexpr strong_ordering value = @\exposid{TYPE-ORDER}@(T, U); + + using value_type = strong_ordering; + + constexpr operator value_type() const noexcept { return value; } + constexpr value_type operator()() const noexcept { return value; } +}; \end{itemdecl} \begin{itemdescr} -\pnum -The name \tcode{type_order} denotes a \oldconcept{BinaryTypeTrait}\iref{meta.rqmts} -with a base characteristic of -\tcode{inte\-gral_constant}. - \pnum \recommended The order should be lexicographical on parameter-type-lists and template argument lists. From 0f54abbaf54090793f3e944ed993971545cab36c Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 13 Nov 2025 09:13:39 +0000 Subject: [PATCH 2/2] Index members of type_order Co-authored-by: A. Jiang --- source/support.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/support.tex b/source/support.tex index 6fe4e0ddb7..538f6ed6f9 100644 --- a/source/support.tex +++ b/source/support.tex @@ -5739,12 +5739,12 @@ \indexlibraryglobal{type_order}% \begin{itemdecl} template struct type_order { - static constexpr strong_ordering value = @\exposid{TYPE-ORDER}@(T, U); + static constexpr strong_ordering @\libmember{value}{type_order}@ = @\exposid{TYPE-ORDER}@(T, U); - using value_type = strong_ordering; + using @\libmember{value_type}{type_order}@ = strong_ordering; - constexpr operator value_type() const noexcept { return value; } - constexpr value_type operator()() const noexcept { return value; } + constexpr @\libmember{operator value_type}{type_order}@() const noexcept { return value; } + constexpr value_type @\libmember{operator()}{type_order}@() const noexcept { return value; } }; \end{itemdecl}