Created on 2020-04-19.00:00:00 last changed 13 months ago
Proposed resolution:
This wording is relative to N4861.
Modify [string.view.comparison] by adding a new paragraph after p3:
As result of reflector discussion we decided to make a drive-by fix in p3 below.
template<class charT, class traits> constexpr see below operator<=>(basic_string_view<charT, traits> lhs, basic_string_view<charT, traits> rhs) noexcept;-3- Let R denote the type traits::comparison_category if that qualified-id is valid and denotes a type ([temp.deduct])
it exists, otherwise R is weak_ordering.-?- Mandates: R denotes a comparison category type ([cmp.categories]).
-4- Returns: static_cast<R>(lhs.compare(rhs) <=> 0).
[ 2020-11-09 Approved In November virtual meeting. Status changed: Ready → WP. ]
[ 2020-07-17; Moved to Ready in telecon ]
It's not clear what happens if a program-defined character traits type defines comparison_category as a synonym for void, or some other bogus type.
Discussion on the LWG reflector settled on making it ill-formed at the point of use.
History | |||
---|---|---|---|
Date | User | Action | Args |
2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
2020-11-09 20:31:48 | admin | set | messages: + msg11547 |
2020-11-09 20:31:48 | admin | set | status: ready -> wp |
2020-07-17 22:37:26 | admin | set | messages: + msg11392 |
2020-07-17 22:37:26 | admin | set | status: new -> ready |
2020-04-20 13:25:37 | admin | set | messages: + msg11230 |
2020-04-19 00:00:00 | admin | create |