This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++14 status.
Section: 25.5.2.2.1 [back.insert.iter.ops], 25.5.2.3.1 [front.insert.iter.ops], 25.5.2.4.1 [insert.iter.ops] Status: C++14 Submitter: Stephan T. Lavavej Opened: 2013-09-21 Last modified: 2021-06-06
Priority: 0
View all other issues in [back.insert.iter.ops].
View all issues with C++14 status.
Discussion:
[back.insert.iter.cons]/1, [front.insert.iter.cons]/1, and [insert.iter.cons]/1 say "Initializes container with &x", which doesn't defend against containers overloading operator&(). Containers are now required to have such defenses for their elements, so we may as well be consistent here.
[Issaquah 2014-02-11: Move to Immediate]
Proposed resolution:
This wording is relative to N3691.
Edit [back.insert.iter.cons]/1 as indicated:
explicit back_insert_iterator(Container& x);-1- Effects: Initializes container with
&xstd::addressof(x).
Edit [front.insert.iter.cons]/1 as indicated:
explicit front_insert_iterator(Container& x);-1- Effects: Initializes container with
&xstd::addressof(x).
Edit [insert.iter.cons]/1 as indicated:
insert_iterator(Container& x, typename Container::iterator i);-1- Effects: Initializes container with
&xstd::addressof(x) and iter with i.