Created on 2016-01-01.00:00:00 last changed 90 months ago
Proposed resolution:
This wording is relative to N4567.
Edit [istream.iterator.cons]/3+4 as indicated:
istream_iterator(istream_type& s);-3- Effects: Initializes in_stream with
-4- Postcondition: in_stream ==&saddressof(s). value may be initialized during construction or the first time it is referenced.&saddressof(s).
Edit [istream.iterator.ops]/2 as indicated:
const T* operator->() const;-2- Returns:
&addressof(operator*()).
Edit [ostream.iterator.cons.des]/1+2 as indicated:
ostream_iterator(ostream_type& s);-1- Effects: Initializes out_stream with
&saddressof(s) and delim with null.ostream_iterator(ostream_type& s, const charT* delimiter);-2- Effects: Initializes out_stream with
&saddressof(s) and delim with delimiter.
[ 2016-02, Issues Telecon ]
P0; move to Tentatively Ready.
To defend against overloaded unary &. This includes the constructors of both iterators, and istream_iterator::operator->.
Note that {i,o}stream_type are specializations of basic_{i,o}stream, but the constructors might still pick up an overloaded & via the traits template parameter. This change also provides consistency with std::experimental::ostream_joiner (which uses std::addressof).History | |||
---|---|---|---|
Date | User | Action | Args |
2017-07-30 20:15:43 | admin | set | status: wp -> c++17 |
2016-03-07 04:11:48 | admin | set | status: ready -> wp |
2016-02-07 20:24:45 | admin | set | messages: + msg7966 |
2016-02-07 20:24:45 | admin | set | status: new -> ready |
2016-01-13 19:12:12 | admin | set | messages: + msg7670 |
2016-01-01 00:00:00 | admin | create |