| /llvm-project/libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/ |
| H A D | sfinae.compile.pass.cpp | 13 // 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 D | reverse_iterator.h | 51 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 D | reverse_access.h | 14 #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 D | RangeAdapterTest.cpp | 27 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 D | iterator.h | 27 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 D | array.h | 12 #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 D | iterator_concept_conformance.compile.pass.cpp | 24 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 D | types.compile.pass.cpp | 35 : 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 D | sized_sentinel.compile.pass.cpp | 21 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 D | iterator_concept_conformance.compile.pass.cpp | 19 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 D | minus.pass.cpp | 11 // 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 D | iter_swap.pass.cpp | 34 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 D | iterator_concept_conformance.compile.pass.cpp | 19 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 D | iterator_concept_conformance.compile.pass.cpp | 19 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 D | iterator_concept_conformance.compile.pass.cpp | 19 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 D | iterator_concept_conformance.compile.pass.cpp | 19 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 D | containers.h | 95 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 D | partition_copy.pass.cpp | 46 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 D | DWARFDie.h | 299 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 D | iterator_concept_conformance.compile.pass.cpp | 20 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 D | end.pass.cpp | 31 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 D | begin.pass.cpp | 89 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 D | EnumeratedArray.h | 31 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 D | contiguous_iterators.pass.cpp | 175 … 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 D | reverse_view.h | 17 #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...] |