This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++14 status.
make_reverse_iteratorSection: 24.5.1[reverse.iterators]Status:C++14Submitter: Zhihao YuanOpened: 2013-08-27Last modified: 2016-01-28
Priority:Not Prioritized
View all otherissues in [reverse.iterators].
View all issues withC++14 status.
Discussion:
We havemake_move_iterator, but notmake_reverse_iterator, whichis also useful when dealing with some types without anrbegin/rend support (like, C strings).
[2013-09 Chicago]
Billy: reviewed it last night STL: has suggested prior, but denied for complexity
Billy: Alisdair wanted to review forreverse(reverse());STL: likes the issue, was like himStefanus: likes definitions, places where things should beSTL: for consistency withmake_move_iteratorStefanus: minor editorial issue - subdivision in these 2 sections is different from [move.iter]. See 24.5.4.9[move.iter.nonmember]STL: motion to move to ReadyMove to ReadyProposed resolution:
This wording is relative to N3691.
Change header<iterator> synopsis, 24.2[iterator.synopsis] as indicated:
namespace std { […] template <class Iterator> reverse_iterator<Iterator> operator+( typename reverse_iterator<Iterator>::difference_type n, const reverse_iterator<Iterator>& x); template <class Iterator> reverse_iterator<Iterator> make_reverse_iterator(Iterator i);}Change class templatereverse_iterator synopsis, 24.5.1.2[reverse.iterator] as indicated:
namespace std { […] template <class Iterator> reverse_iterator<Iterator> operator+( typename reverse_iterator<Iterator>::difference_type n, const reverse_iterator<Iterator>& x); template <class Iterator> reverse_iterator<Iterator> make_reverse_iterator(Iterator i);}After [reverse.iter.opsum] add the following new sub-clause to [reverse.iter.ops]:
template <class Iterator> reverse_iterator<Iterator> make_reverse_iterator(Iterator i);-?-Returns:
reverse_iterator<Iterator>(i).