• Home
  • Raw
  • Download

Lines Matching refs:reverse_iterator

76 class reverse_iterator
91 constexpr reverse_iterator();
92 constexpr explicit reverse_iterator(Iterator x);
93 template <class U> constexpr reverse_iterator(const reverse_iterator<U>& u);
94 template <class U> constexpr reverse_iterator& operator=(const reverse_iterator<U>& u);
98 constexpr reverse_iterator& operator++();
99 constexpr reverse_iterator operator++(int);
100 constexpr reverse_iterator& operator--();
101 constexpr reverse_iterator operator--(int);
102 constexpr reverse_iterator operator+ (difference_type n) const;
103 constexpr reverse_iterator& operator+=(difference_type n);
104 constexpr reverse_iterator operator- (difference_type n) const;
105 constexpr reverse_iterator& operator-=(difference_type n);
111 operator==(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
115 operator<(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
119 operator!=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
123 operator>(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
127 operator>=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
131 operator<=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
135 operator-(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y)
139 constexpr reverse_iterator<Iterator>
140 operator+(typename reverse_iterator<Iterator>::difference_type n,
141 const reverse_iterator<Iterator>& x); // constexpr in C++17
144 constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
393 template <class E> reverse_iterator<const E*> constexpr rbegin(initializer_list<E> il); // C++14
394 template <class E> reverse_iterator<const E*> constexpr rend(initializer_list<E> il); // C++14
395 template <class T, size_t N> reverse_iterator<T*> constexpr rbegin(T (&array)[N]); // C++14
396 template <class T, size_t N> reverse_iterator<T*> constexpr rend(T (&array)[N]); // C++14
650 class _LIBCPP_TEMPLATE_VIS reverse_iterator
661 "The specified iterator type cannot be used with reverse_iterator; "
662 "Using stashing iterators with reverse_iterator causes undefined behavior");
673 reverse_iterator() : __t(), current() {}
675 explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
678 reverse_iterator(const reverse_iterator<_Up>& __u) : __t(__u.base()), current(__u.base()) {}
681 reverse_iterator& operator=(const reverse_iterator<_Up>& __u)
690 reverse_iterator& operator++() {--current; return *this;}
692 reverse_iterator operator++(int) {reverse_iterator __tmp(*this); --current; return __tmp;}
694 reverse_iterator& operator--() {++current; return *this;}
696 reverse_iterator operator--(int) {reverse_iterator __tmp(*this); ++current; return __tmp;}
698reverse_iterator operator+ (difference_type __n) const {return reverse_iterator(current - __n);}
700 reverse_iterator& operator+=(difference_type __n) {current -= __n; return *this;}
702reverse_iterator operator- (difference_type __n) const {return reverse_iterator(current + __n);}
704 reverse_iterator& operator-=(difference_type __n) {current += __n; return *this;}
712 operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
720 operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
728 operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
736 operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
744 operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
752 operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
761 operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
769 typename reverse_iterator<_Iter1>::difference_type
770 operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
778 reverse_iterator<_Iter>
779 operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x)
781 return reverse_iterator<_Iter>(__x.base() - __n);
787 reverse_iterator<_Iter> make_reverse_iterator(_Iter __i)
789 return reverse_iterator<_Iter>(__i);
1652 struct __libcpp_is_trivial_iterator<reverse_iterator<_Iter> >
1714 reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np])
1716 return reverse_iterator<_Tp*>(__array + _Np);
1721 reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np])
1723 return reverse_iterator<_Tp*>(__array);
1728 reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il)
1730 return reverse_iterator<const _Ep*>(__il.end());
1735 reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il)
1737 return reverse_iterator<const _Ep*>(__il.begin());