Implement LWG Issue #2285 - make_reverse_iterator. Also mark issues #1450 and #2205 as complete; they are just wording changes in the standard. Mark issues #2359, #2320 and #2322 as complete - libc++ implements them already.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202671 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -138,6 +138,8 @@ 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); // C++14
|
||||
|
||||
template <class Container>
|
||||
class back_insert_iterator
|
||||
{
|
||||
@@ -633,6 +635,15 @@ operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_i
|
||||
return reverse_iterator<_Iter>(__x.base() - __n);
|
||||
}
|
||||
|
||||
#if _LIBCPP_STD_VER > 11
|
||||
template <class _Iter>
|
||||
inline _LIBCPP_INLINE_VISIBILITY
|
||||
reverse_iterator<_Iter> make_reverse_iterator(_Iter __i)
|
||||
{
|
||||
return reverse_iterator<_Iter>(__i);
|
||||
}
|
||||
#endif
|
||||
|
||||
template <class _Container>
|
||||
class _LIBCPP_TYPE_VIS_ONLY back_insert_iterator
|
||||
: public iterator<output_iterator_tag,
|
||||
|
||||
Reference in New Issue
Block a user