Home
last modified time | relevance | path

Searched refs:reverse_iterator (Results 1 – 25 of 254) sorted by relevance

1234567891011

/llvm-project/libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/
H A Dsfinae.compile.pass.cpp13 // reverse_iterator
17 // operator==(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
21 // operator!=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
25 // operator<(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
29 // operator>(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
33 // operator<=(const reverse_iterator<Iterator
[all...]
/llvm-project/libcxx/include/__iterator/
H A Dreverse_iterator.h51 class _LIBCPP_TEMPLATE_VIS reverse_iterator
69 "reverse_iterator<It> requires It to be a bidirectional iterator.");
95 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator() : __t_(), current() {} in reverse_iterator() function
97 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 explicit reverse_iterator(_Iter __x) : __t_(__x), current(__x) {} in reverse_iterator() function
100 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator(const reverse_iterator<_Up>& __u) in reverse_iterator() function
107 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator& operator=(const reverse_iterator<_Up>& __u) {
112 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator() : current() {} in reverse_iterator() function
114 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 explicit reverse_iterator(_Ite function
117 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator(const reverse_iterator<_Up>& __u) reverse_iterator() function
[all...]
H A Dreverse_access.h14 #include <__iterator/reverse_iterator.h>
26 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np]) {
27 return reverse_iterator<_Tp*>(__array + _Np); in rbegin()
31 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np]) {
32 return reverse_iterator<_Tp*>(__array); in rend()
36 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il) {
37 return reverse_iterator<const _Ep*>(__il.end()); in rbegin()
41 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il) {
42 return reverse_iterator<const _Ep*>(__il.begin()); in rend()
/llvm-project/llvm/unittests/ADT/
H A DRangeAdapterTest.cpp27 typedef std::vector<int>::reverse_iterator reverse_iterator; typedef in __anonb4afe4b50111::ReverseOnlyVector
29 reverse_iterator rbegin() { return Vec.rbegin(); } in rbegin()
30 reverse_iterator rend() { return Vec.rend(); } in rend()
48 typedef std::vector<int>::reverse_iterator reverse_iterator; typedef in __anonb4afe4b50111::BidirectionalVector
49 reverse_iterator rbegin() const { return Vec.rbegin(); } in rbegin()
50 reverse_iterator rend() const { return Vec.rend(); } in rend()
68 typedef std::vector<int>::reverse_iterator reverse_iterator; typedef in __anonb4afe4b50111::BidirectionalVectorConsts
70 reverse_iterator rbegin() { return Vec.rbegin(); } in rbegin()
71 reverse_iterator rend() { return Vec.rend(); } in rend()
84 class reverse_iterator { class in __anonb4afe4b50111::CustomIteratorVector
[all …]
/llvm-project/libc/src/__support/CPP/
H A Diterator.h27 template <typename Iter> class reverse_iterator {
35 LIBC_INLINE reverse_iterator() : current() {}
36 LIBC_INLINE constexpr explicit reverse_iterator(Iter it) : current(it) {}
42 LIBC_INLINE constexpr explicit reverse_iterator(const Other &it)
45 LIBC_INLINE friend constexpr bool operator==(const reverse_iterator &lhs,
46 const reverse_iterator &rhs) {
50 LIBC_INLINE friend constexpr bool operator!=(const reverse_iterator &lhs,
51 const reverse_iterator &rhs) {
55 LIBC_INLINE friend constexpr bool operator<(const reverse_iterator &lhs,
56 const reverse_iterator
[all...]
H A Darray.h12 #include "src/__support/CPP/iterator.h" // reverse_iterator
28 using reverse_iterator = cpp::reverse_iterator<iterator>;
29 using const_reverse_iterator = cpp::reverse_iterator<const_iterator>;
58 LIBC_INLINE constexpr reverse_iterator rbegin() { in rbegin()
59 return reverse_iterator{end()}; in rbegin()
68 LIBC_INLINE constexpr reverse_iterator rend() { in rend()
69 return reverse_iterator{begin()}; in rend()
27 using reverse_iterator = cpp::reverse_iterator<iterator>; global() member
/llvm-project/libcxx/test/std/iterators/predef.iterators/reverse.iterators/
H A Diterator_concept_conformance.compile.pass.cpp24 using reverse_bidirectional_iterator = std::reverse_iterator<bidirectional_iterator<int*>>;
35 using reverse_random_access_iterator = std::reverse_iterator<random_access_iterator<int*>>;
46 using reverse_contiguous_iterator = std::reverse_iterator<contiguous_iterator<int*>>;
57 static_assert( std::equality_comparable_with<std::reverse_iterator<int*>, std::reverse_iterator<con…
58 static_assert(!std::equality_comparable_with<std::reverse_iterator<int*>, std::reverse_iterator<cha…
59 static_assert( std::totally_ordered_with<std::reverse_iterator<int*>, std::reverse_iterator<const i…
60 static_assert(!std::totally_ordered_with<std::reverse_iterator<int*>, std::reverse_iterator<char*>>…
61 static_assert( std::three_way_comparable_with<std::reverse_iterator<int*>, std::reverse_iterator<co…
62 static_assert(!std::three_way_comparable_with<std::reverse_iterator<int*>, std::reverse_iterator<ch…
H A Dtypes.compile.pass.cpp35 : private std::reverse_iterator<It>
42 typedef std::reverse_iterator<It> R; in test()
86 static_assert(std::is_same_v<typename std::reverse_iterator<FooIter>::value_type, int>);
88 static_assert(std::is_same_v<typename std::reverse_iterator<FooIter>::difference_type, char>);
105 static_assert(std::is_same_v<typename std::reverse_iterator<BarIter>::reference, bool&>);
107 static_assert(std::is_same<typename std::reverse_iterator<BarIter>::reference, char&>::value, "");
117 …static_assert(std::is_same_v<typename std::reverse_iterator<bidirectional_iterator<char*>>::iterat… in test_all()
118 …static_assert(std::is_same_v<typename std::reverse_iterator<random_access_iterator<char*>>::iterat… in test_all()
119 …static_assert(std::is_same_v<typename std::reverse_iterator<cpp20_random_access_iterator<char*>>::… in test_all()
120 …static_assert(std::is_same_v<typename std::reverse_iterator<contiguous_iterator<char*>>::iterator_… in test_all()
[all …]
H A Dsized_sentinel.compile.pass.cpp21 static_assert( std::sized_sentinel_for<std::reverse_iterator<sized_it>, std::reverse_iterator<sized…
22 static_assert( HasMinus<std::reverse_iterator<sized_it>>);
27 static_assert(!std::sized_sentinel_for<std::reverse_iterator<unsized_it>, std::reverse_iterator<uns…
28 static_assert(!HasMinus<std::reverse_iterator<unsized_it>>);
/llvm-project/libcxx/test/std/containers/sequences/vector/
H A Diterator_concept_conformance.compile.pass.cpp19 using reverse_iterator = std::vector<int>::reverse_iterator; typedef
24 static_assert( std::random_access_iterator<reverse_iterator>);
25 static_assert(!std::contiguous_iterator<reverse_iterator>);
29 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
33 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
39 static_assert( std::indirectly_movable<iterator, reverse_iterator>);
40 static_assert( std::indirectly_movable_storable<iterator, reverse_iterator>);
47 static_assert( std::indirectly_copyable<iterator, reverse_iterator>);
48 static_assert( std::indirectly_copyable_storable<iterator, reverse_iterator>);
59 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
[all …]
/llvm-project/libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/
H A Dminus.pass.cpp11 // reverse_iterator
15 // auto operator-(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y) // constexpr in C++17
32 static_assert(HasMinus<std::reverse_iterator<int*>, std::reverse_iterator<int*> >::value, ""); in test()
33 static_assert(HasMinus<std::reverse_iterator<int*>, std::reverse_iterator<const int*> >::value, ""); in test()
36 static_assert(!HasMinus<std::reverse_iterator<int*>, std::reverse_iterator<char*> >::value, ""); in tests()
37 static_assert(!HasMinus<std::reverse_iterator<bidirectional_iterato in tests()
[all...]
H A Diter_swap.pass.cpp34 std::reverse_iterator<int*> rb(a + N); in test()
35 std::reverse_iterator<int*> re(a + 1); in test()
51 std::reverse_iterator<adl::Iterator> ri1(base1), ri2(base2); in test()
83 using RI1 = std::reverse_iterator<ThrowingCopyNoexceptDecrement>; in test()
84 using RI2 = std::reverse_iterator<int*>; in test()
111 using RI1 = std::reverse_iterator<NoexceptCopyThrowingDecrement>; in test()
112 using RI2 = std::reverse_iterator<int*>; in test()
139 using RI1 = std::reverse_iterator<NoexceptCopyAndDecrement>; in test()
140 using RI2 = std::reverse_iterator<int*>; in test()
/llvm-project/libcxx/test/std/containers/sequences/list/
H A Diterator_concept_conformance.compile.pass.cpp19 using reverse_iterator = std::list<int>::reverse_iterator; typedef
28 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
32 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
38 static_assert( std::indirectly_movable<iterator, reverse_iterator>);
39 static_assert( std::indirectly_movable_storable<iterator, reverse_iterator>);
46 static_assert( std::indirectly_copyable<iterator, reverse_iterator>);
47 static_assert( std::indirectly_copyable_storable<iterator, reverse_iterator>);
57 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
61 static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>);
67 static_assert( std::indirectly_movable<const_iterator, reverse_iterator>);
[all …]
/llvm-project/libcxx/test/std/containers/sequences/deque/
H A Diterator_concept_conformance.compile.pass.cpp19 using reverse_iterator = std::deque<int>::reverse_iterator; typedef
28 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
32 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
38 static_assert( std::indirectly_movable<iterator, reverse_iterator>);
39 static_assert( std::indirectly_movable_storable<iterator, reverse_iterator>);
46 static_assert( std::indirectly_copyable<iterator, reverse_iterator>);
47 static_assert( std::indirectly_copyable_storable<iterator, reverse_iterator>);
57 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
61 static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>);
67 static_assert( std::indirectly_movable<const_iterator, reverse_iterator>);
[all …]
/llvm-project/libcxx/test/std/strings/basic.string/string.iterators/
H A Diterator_concept_conformance.compile.pass.cpp19 using reverse_iterator = std::string::reverse_iterator; typedef
27 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
31 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
37 static_assert(std::indirectly_movable<iterator, reverse_iterator>);
38 static_assert(std::indirectly_movable_storable<iterator, reverse_iterator>);
45 static_assert(std::indirectly_copyable<iterator, reverse_iterator>);
46 static_assert(std::indirectly_copyable_storable<iterator, reverse_iterator>);
55 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
59 static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>);
65 static_assert(std::indirectly_movable<const_iterator, reverse_iterator>);
[all …]
/llvm-project/libcxx/test/std/containers/sequences/array/
H A Diterator_concept_conformance.compile.pass.cpp19 using reverse_iterator = std::array<int, 10>::reverse_iterator; typedef
26 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
30 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
36 static_assert( std::indirectly_movable<iterator, reverse_iterator>);
37 static_assert( std::indirectly_movable_storable<iterator, reverse_iterator>);
44 static_assert( std::indirectly_copyable<iterator, reverse_iterator>);
45 static_assert( std::indirectly_copyable_storable<iterator, reverse_iterator>);
54 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
58 static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>);
64 static_assert( std::indirectly_movable<const_iterator, reverse_iterator>);
[all …]
/llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/
H A Dcontainers.h95 class reverse_iterator {
97 reverse_iterator() {} in reverse_iterator() function
98 reverse_iterator(const Iterator &iter) : iter(iter) {} in reverse_iterator() function
99 reverse_iterator(const reverse_iterator<Iterator> &rit) : iter(rit.iter) {} in reverse_iterator() function
108 reverse_iterator &operator++() { return --iter; }
109 reverse_iterator &operator--() { return ++iter; }
110 reverse_iterator operator++(int) { return iter--; }
111 reverse_iterator operator--(int) { return iter++; }
122 typedef reverse_iterator<Iterator> reverse_iterator; typedef
123 typedef const_iterator<reverse_iterator> const_reverse_iterator;
[all …]
/llvm-project/pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/
H A Dpartition_copy.pass.cpp46 operator()(pstl::execution::unsequenced_policy, std::reverse_iterator<InputIterator> first, in operator ()()
47 … std::reverse_iterator<InputIterator> last, std::reverse_iterator<OutputIterator> true_first, in operator ()()
48 …std::reverse_iterator<OutputIterator> true_last, std::reverse_iterator<OutputIterator2> false_firs… in operator ()()
54 …operator()(pstl::execution::parallel_unsequenced_policy, std::reverse_iterator<InputIterator> firs… in operator ()()
55 … std::reverse_iterator<InputIterator> last, std::reverse_iterator<OutputIterator> true_first, in operator ()()
56 …std::reverse_iterator<OutputIterator> true_last, std::reverse_iterator<OutputIterator2> false_firs… in operator ()()
/llvm-project/llvm/include/llvm/DebugInfo/DWARF/
H A DDWARFDie.h299 std::reverse_iterator<iterator> rbegin() const;
300 std::reverse_iterator<iterator> rend() const;
363 friend std::reverse_iterator<llvm::DWARFDie::iterator>;
409 class reverse_iterator<llvm::DWARFDie::iterator>
411 reverse_iterator<llvm::DWARFDie::iterator>,
419 reverse_iterator(llvm::DWARFDie::iterator It)
429 reverse_iterator<llvm::DWARFDie::iterator> &operator++() {
439 reverse_iterator<llvm::DWARFDie::iterator> &operator--() {
457 bool equals(const reverse_iterator<llvm::DWARFDie::iterator> &RHS) const {
466 inline bool operator==(const std::reverse_iterator<DWARFDi
414 reverse_iterator(llvm::DWARFDie::iterator It) reverse_iterator() function
[all...]
/llvm-project/libcxx/test/std/containers/sequences/vector.bool/
H A Diterator_concept_conformance.compile.pass.cpp20 using reverse_iterator = std::vector<bool>::reverse_iterator; typedef
25 static_assert( std::random_access_iterator<reverse_iterator>);
27 static_assert(!std::contiguous_iterator<reverse_iterator>);
35 static_assert(!std::sentinel_for<iterator, reverse_iterator>);
39 static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>);
54 static_assert(!std::sentinel_for<const_iterator, reverse_iterator>);
58 static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>);
/llvm-project/libcxx/test/std/ranges/range.adaptors/range.reverse/
H A Dend.pass.cpp31 ASSERT_SAME_TYPE(decltype(rev.end()), std::reverse_iterator<bidirectional_iterator<int*>>); in test()
32 …ASSERT_SAME_TYPE(decltype(std::move(rev).end()), std::reverse_iterator<bidirectional_iterator<int*… in test()
40 … ASSERT_SAME_TYPE(decltype(rev.end()), std::reverse_iterator<bidirectional_iterator<const int*>>); in test()
41 …ASSERT_SAME_TYPE(decltype(std::move(rev).end()), std::reverse_iterator<bidirectional_iterator<cons… in test()
48 …ASSERT_SAME_TYPE(decltype(std::move(rev).end()), std::reverse_iterator<bidirectional_iterator<int*… in test()
56 ASSERT_SAME_TYPE(decltype(rev.end()), std::reverse_iterator<bidirectional_iterator<int*>>); in test()
57 …ASSERT_SAME_TYPE(decltype(std::move(rev).end()), std::reverse_iterator<bidirectional_iterator<int*… in test()
H A Dbegin.pass.cpp89 ASSERT_SAME_TYPE(decltype(rev.begin()), std::reverse_iterator<bidirectional_iterator<int*>>); in test()
90 …ASSERT_SAME_TYPE(decltype(std::move(rev).begin()), std::reverse_iterator<bidirectional_iterator<in… in test()
98 …ASSERT_SAME_TYPE(decltype(rev.begin()), std::reverse_iterator<bidirectional_iterator<const int*>>); in test()
99 …ASSERT_SAME_TYPE(decltype(std::move(rev).begin()), std::reverse_iterator<bidirectional_iterator<co… in test()
106 …ASSERT_SAME_TYPE(decltype(std::move(rev).begin()), std::reverse_iterator<bidirectional_iterator<in… in test()
114 ASSERT_SAME_TYPE(decltype(rev.begin()), std::reverse_iterator<bidirectional_iterator<int*>>); in test()
115 …ASSERT_SAME_TYPE(decltype(std::move(rev).begin()), std::reverse_iterator<bidirectional_iterator<in… in test()
125 ASSERT_SAME_TYPE(decltype(rev.begin()), std::reverse_iterator<random_access_iterator<int*>>); in test()
126 …ASSERT_SAME_TYPE(decltype(std::move(rev).begin()), std::reverse_iterator<random_access_iterator<in… in test()
/llvm-project/llvm/include/llvm/ADT/
H A DEnumeratedArray.h31 using const_reverse_iterator = std::reverse_iterator<const_iterator>;
32 using reverse_iterator = std::reverse_iterator<iterator>; variable
72 reverse_iterator rbegin() { return reverse_iterator(end()); } in rbegin()
76 reverse_iterator rend() { return reverse_iterator(begin()); } in rend()
/llvm-project/libcxx/test/libcxx/iterators/
H A Dcontiguous_iterators.pass.cpp175 … static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<char *> >::value), ""); in main()
176 …static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<const char *> >::value)… in main()
177 … static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<int *> >::value), ""); in main()
178 static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<T *> >::value), ""); in main()
179 …static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<my_random_access_iterat… in main()
181 …static_assert((!std::__libcpp_is_contiguous_iterator<std::reverse_iterator<my_contiguous_iterator>… in main()
219 …static_assert((!std::__libcpp_is_contiguous_iterator<std::vector<int>::reverse_iterator> … in main()
226 …static_assert((!std::__libcpp_is_contiguous_iterator<std::string::reverse_iterator> ::value),… in main()
231 …static_assert((!std::__libcpp_is_contiguous_iterator<std::wstring::reverse_iterator> ::value)… in main()
238 …static_assert((!std::__libcpp_is_contiguous_iterator<std::deque<int>::reverse_iterator> … in main()
[all …]
/llvm-project/libcxx/include/__ranges/
H A Dreverse_view.h17 #include <__iterator/reverse_iterator.h>
51 _If<_UseCache, __non_propagating_cache<reverse_iterator<iterator_t<_View>>>, __empty_cache>;
70 _LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator<iterator_t<_View>> begin() { in begin()
81 _LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator<iterator_t<_View>> begin() in begin()
93 _LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator<iterator_t<_View>> end() { in end()
135 __is_sized_reverse_subrange<subrange<reverse_iterator<_Iter>, reverse_iterator<_Iter>, subrange_kind::sized>> =
142 inline constexpr bool __is_unsized_reverse_subrange<subrange<reverse_iterator<_Iter>, reverse_iterator<_Iter>, _Kind>> =
152 struct __unwrapped_reverse_subrange<subrange<reverse_iterator<_Ite
[all...]

1234567891011