Section: 22.214.171.124.1 [reverse.iter.cons] Status: C++11 Submitter: Alisdair Meredith Opened: 2009-03-11 Last modified: 2016-02-10
Priority: Not Prioritized
View all issues with C++11 status.
Addresses UK 277
The default constructor default-initializes current, rather than value-initializes. This means that when Iterator corresponds to a trivial type, the current member is left un-initialized, even when the user explictly requests value intialization! At this point, it is not safe to perform any operations on the reverse_iterator other than assign it a new value or destroy it. Note that this does correspond to the basic definition of a singular iterator.
[ Summit: ]
Agree with option i.
Related issue: 408
[ Batavia (2009-05): ]
We believe this should be revisited in conjunction with issue 408, which nearly duplicates this issue. Move to Open.
[ 2009-07 post-Frankfurt: ]
Change "constructed" to "initialized" in two places in the proposed resolution.
Move to Tentatively Ready.
[ 2009 Santa Cruz: ]
Moved to Ready for this meeting.
Defaultinitializes current. Iterator operations applied to the resulting iterator have defined behavior if and only if the corresponding operations are defined on a default constructediterator of type Iterator.
Change 126.96.36.199.1 [move.iter.op.const]:
-1- Effects: Constructs a move_iterator,