|
10 | 10 | #ifndef _LIBCPP___RANGES_CONCEPTS_H
|
11 | 11 | #define _LIBCPP___RANGES_CONCEPTS_H
|
12 | 12 |
|
13 |
| -#include <__concepts/common_reference_with.h> |
14 | 13 | #include <__concepts/constructible.h>
|
15 |
| -#include <__concepts/convertible_to.h> |
16 | 14 | #include <__concepts/movable.h>
|
17 | 15 | #include <__concepts/same_as.h>
|
18 | 16 | #include <__config>
|
19 | 17 | #include <__iterator/concepts.h>
|
20 | 18 | #include <__iterator/incrementable_traits.h>
|
21 | 19 | #include <__iterator/iter_move.h>
|
22 | 20 | #include <__iterator/iterator_traits.h>
|
23 |
| -#include <__iterator/readable_traits.h> |
24 | 21 | #include <__ranges/access.h>
|
25 | 22 | #include <__ranges/data.h>
|
26 | 23 | #include <__ranges/enable_borrowed_range.h>
|
27 | 24 | #include <__ranges/enable_view.h>
|
28 | 25 | #include <__ranges/size.h>
|
29 | 26 | #include <__type_traits/add_pointer.h>
|
30 |
| -#include <__type_traits/common_reference.h> |
31 |
| -#include <__type_traits/common_type.h> |
32 | 27 | #include <__type_traits/is_reference.h>
|
33 | 28 | #include <__type_traits/remove_cvref.h>
|
34 | 29 | #include <__type_traits/remove_reference.h>
|
@@ -137,42 +132,6 @@ concept viewable_range =
|
137 | 132 | (is_lvalue_reference_v<_Tp> ||
|
138 | 133 | (movable<remove_reference_t<_Tp>> && !__is_std_initializer_list<remove_cvref_t<_Tp>>))));
|
139 | 134 |
|
140 |
| -# if _LIBCPP_STD_VER >= 23 |
141 |
| - |
142 |
| -template <class... _Rs> |
143 |
| -using __concat_reference_t _LIBCPP_NODEBUG = common_reference_t<range_reference_t<_Rs>...>; |
144 |
| - |
145 |
| -template <class... _Rs> |
146 |
| -using __concat_value_t _LIBCPP_NODEBUG = common_type_t<range_value_t<_Rs>...>; |
147 |
| - |
148 |
| -template <class... _Rs> |
149 |
| -using __concat_rvalue_reference_t _LIBCPP_NODEBUG = common_reference_t<range_rvalue_reference_t<_Rs>...>; |
150 |
| - |
151 |
| -template <class _Ref, class _RRef, class _It> |
152 |
| -concept __concat_indirectly_readable_impl = requires(const _It __it) { |
153 |
| - { *__it } -> convertible_to<_Ref>; |
154 |
| - { ranges::iter_move(__it) } -> convertible_to<_RRef>; |
155 |
| -}; |
156 |
| - |
157 |
| -template <class... _Rs> |
158 |
| -concept __concat_indirectly_readable = |
159 |
| - common_reference_with<__concat_reference_t<_Rs...>&&, __concat_value_t<_Rs...>&> && |
160 |
| - common_reference_with<__concat_reference_t<_Rs...>&&, __concat_rvalue_reference_t<_Rs...>&&> && |
161 |
| - common_reference_with<__concat_rvalue_reference_t<_Rs...>&&, const __concat_value_t<_Rs...>&> && |
162 |
| - (__concat_indirectly_readable_impl<__concat_reference_t<_Rs...>, |
163 |
| - __concat_rvalue_reference_t<_Rs...>, |
164 |
| - iterator_t<_Rs>> && |
165 |
| - ...); |
166 |
| - |
167 |
| -template <class... _Rs> |
168 |
| -concept __concatable = requires { |
169 |
| - typename __concat_reference_t<_Rs...>; |
170 |
| - typename __concat_value_t<_Rs...>; |
171 |
| - typename __concat_rvalue_reference_t<_Rs...>; |
172 |
| -} && __concat_indirectly_readable<_Rs...>; |
173 |
| - |
174 |
| -# endif // _LIBCPP_STD_VER >= 23 |
175 |
| - |
176 | 135 | } // namespace ranges
|
177 | 136 |
|
178 | 137 | #endif // _LIBCPP_STD_VER >= 20
|
|
0 commit comments