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++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
withand
&xstd::addressof(x)iter
withi
.