This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++14 status.
addressof()Section: 24.5.2.2.2[back.insert.iter.ops], 24.5.2.3.2[front.insert.iter.ops], 24.5.2.4.2[insert.iter.ops]Status:C++14Submitter: Stephan T. LavavejOpened: 2013-09-21Last modified: 2021-06-06
Priority:0
View all otherissues in [back.insert.iter.ops].
View all issues withC++14 status.
Discussion:
[back.insert.iter.cons]/1, [front.insert.iter.cons]/1, and [insert.iter.cons]/1say "Initializes container with&x", which doesn't defend against containers overloadingoperator&().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
containerwith.&xstd::addressof(x)
Edit [front.insert.iter.cons]/1 as indicated:
explicit front_insert_iterator(Container& x);-1-Effects: Initializes
containerwith.&xstd::addressof(x)
Edit [insert.iter.cons]/1 as indicated:
insert_iterator(Container& x, typename Container::iterator i);-1-Effects: Initializes
containerwithand&xstd::addressof(x)iterwithi.