This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Ready status.
Section: 24.3.4.4 [iterator.concept.winc] Status: Ready Submitter: Hewill Kang Opened: 2026-03-19 Last modified: 2026-07-31
Priority: 3
View other active issues in [iterator.concept.winc].
View all other issues in [iterator.concept.winc].
View all issues with Ready status.
Discussion:
Currently, integer-class types are not guaranteed to be structural types, so the range of size members
that return integer-class types may not be able to model tiny-range, because its size value
cannot be used as a template argument even if it is a constant expression. This does not appear to be the intention.
[2026-05-29; Reflector poll.]
Set priority to 3 after reflector poll.
Need additional statement clarifying when the types are template-argument-equivalent.
This wording is relative to N5032.
Modify 24.3.4.4 [iterator.concept.winc] as indicated:
-9- All integer-class types are structural types (13.2 [temp.param]) that model
regular(18.6 [concepts.object]) andthree_way_comparable<strong_ordering>(17.12.4 [cmp.concept]).
[2026-07-30; Tim provides new wording]
[2026-07-31 LWG telecon; Status changed: New → Ready.]
Proposed resolution:
This wording is relative to N5054.
Modify 24.3.4.4 [iterator.concept.winc] as indicated:
-9- All integer-class types are structural types (13.2 [temp.param]) that model
regular(18.6 [concepts.object]) andthree_way_comparable<strong_ordering>(17.12.4 [cmp.concept]). Two values of an integer-class type are template-argument-equivalent if and only if they are equal.