This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
value_type
and reference
members of std::flat_(multi)map::(const_)iterator
are unclearSection: 23.6.8.1 [flat.map.overview], 23.6.9.1 [flat.multimap.overview] Status: New Submitter: Jiang An Opened: 2023-08-04 Last modified: 2023-10-30
Priority: 3
View all other issues in [flat.map.overview].
View all issues with New status.
Discussion:
23.6.8.1 [flat.map.overview] and 23.6.9.1 [flat.multimap.overview] currently only require that the iterator types
meet Cpp17InputIterator requirements and model the std::random_access_iterator
concept.
the operator*()
returns proxy references of type std::pair<const K&, V&>
or
std::pair<const K&, const V&>
(same as the reference
or const_reference
types of the container adaptors), and
the value_type
of these iterators is std::pair<K, V>
(same as the value_type
of the container adaptors).
However, such intent doesn't seem to be clear.
Moreover, given such possibly intended iterator types don't meet Cpp17ForwardIterator requirements, we may need to mention the exceptions in 23.2.2.2 [container.reqmts] or 23.2.7.1 [associative.reqmts.general].[2023-10-30; Reflector poll]
Set priority to 3 after reflector poll.
Proposed resolution: