4040#include < __ranges/range_adaptor.h>
4141#include < __ranges/size.h>
4242#include < __ranges/view_interface.h>
43+ #include < __ranges/zip_view.h>
4344#include < __type_traits/conditional.h>
4445#include < __type_traits/decay.h>
4546#include < __type_traits/is_nothrow_constructible.h>
@@ -72,15 +73,11 @@ struct __extract_last<_Tp> {
7273};
7374
7475template <class _Tp , class ... _Tail>
75- struct __derived_from_pack {
76- constexpr static bool value =
77- __derived_from_pack<_Tp, typename __extract_last<_Tail...>::type>::value && __derived_from_pack<_Tail...>::value;
78- };
76+ constexpr bool __derived_from_pack =
77+ __derived_from_pack<_Tp, typename __extract_last<_Tail...>::type> && __derived_from_pack<_Tail...>;
7978
8079template <class _Tp , class _IterCategory >
81- struct __derived_from_pack <_Tp, _IterCategory> {
82- constexpr static bool value = derived_from<_Tp, _IterCategory>;
83- };
80+ constexpr bool __derived_from_pack<_Tp, _IterCategory> = derived_from<_Tp, _IterCategory>;
8481
8582template <class _View , class ... _Views>
8683struct __last_view : __last_view<_Views...> {};
@@ -133,7 +130,7 @@ concept __concat_is_bidirectional =
133130template <bool _Const, class ... _Views>
134131concept __all_forward = (forward_range<__maybe_const<_Const, _Views>> && ...);
135132
136- template <bool _Const, class ... Ts >
133+ template <bool _Const, class ... _Tp >
137134struct __apply_drop_first ;
138135
139136template <bool _Const, class Head , class ... Tail>
@@ -195,23 +192,23 @@ class concat_view : public view_interface<concat_view<_Views...>> {
195192 _LIBCPP_HIDE_FROM_ABI constexpr auto size ()
196193 requires(sized_range<_Views> && ...)
197194 {
198- return apply (
195+ return std:: apply (
199196 [](auto ... sizes) {
200197 using CT = make_unsigned_t <common_type_t <decltype (sizes)...>>;
201198 return (CT (sizes) + ...);
202199 },
203- tuple_transform (ranges::size, __views_));
200+ ranges::__tuple_transform (ranges::size, __views_));
204201 }
205202
206203 _LIBCPP_HIDE_FROM_ABI constexpr auto size () const
207204 requires(sized_range<const _Views> && ...)
208205 {
209- return apply (
206+ return std:: apply (
210207 [](auto ... sizes) {
211208 using CT = make_unsigned_t <common_type_t <decltype (sizes)...>>;
212209 return (CT (sizes) + ...);
213210 },
214- tuple_transform (ranges::size, __views_));
211+ ranges::__tuple_transform (ranges::size, __views_));
215212 }
216213};
217214
@@ -225,13 +222,13 @@ class concat_view<_Views...>::__iterator {
225222public:
226223 constexpr static bool derive_pack_random_iterator =
227224 __derived_from_pack<typename iterator_traits<iterator_t <__maybe_const<_Const, _Views>>>::iterator_category...,
228- random_access_iterator_tag>::value ;
225+ random_access_iterator_tag>;
229226 constexpr static bool derive_pack_bidirectional_iterator =
230227 __derived_from_pack<typename iterator_traits<iterator_t <__maybe_const<_Const, _Views>>>::iterator_category...,
231- bidirectional_iterator_tag>::value ;
228+ bidirectional_iterator_tag>;
232229 constexpr static bool derive_pack_forward_iterator =
233230 __derived_from_pack<typename iterator_traits< iterator_t <__maybe_const<_Const, _Views>>>::iterator_category...,
234- forward_iterator_tag>::value ;
231+ forward_iterator_tag>;
235232 using iterator_category =
236233 _If<!is_reference_v<__concat_reference_t <__maybe_const<_Const, _Views>...>>,
237234 input_iterator_tag,
@@ -326,17 +323,17 @@ class concat_view<_Views...>::__iterator {
326323 apply_fn_with_const_index (index, std::forward<_Func>(func), std::make_index_sequence<__N>{});
327324 }
328325
329- template <class ... Args >
330- explicit constexpr __iterator (__maybe_const<_Const, concat_view>* parent, Args &&... args )
331- requires constructible_from<base_iter, Args &&...>
332- : it_(std::forward<Args>(args )...), parent_(parent ) {}
326+ template <class ... _Args >
327+ _LIBCPP_HIDE_FROM_ABI explicit constexpr __iterator (__maybe_const<_Const, concat_view>* __parent, _Args &&... __args )
328+ requires constructible_from<base_iter, _Args &&...>
329+ : it_(std::forward<_Args>(__args )...), parent_(__parent ) {}
333330
334331public:
335332 _LIBCPP_HIDE_FROM_ABI __iterator () = default;
336333
337- _LIBCPP_HIDE_FROM_ABI constexpr __iterator (__iterator<!_Const> i )
334+ _LIBCPP_HIDE_FROM_ABI constexpr __iterator (__iterator<!_Const> __i )
338335 requires _Const && (convertible_to<iterator_t <_Views>, iterator_t <const _Views>> && ...)
339- : it_(base_iter(in_place_index<i .index()>, std::get<i .index()>(std::move(i .it_)))), parent_(i .parent_) {}
336+ : it_(base_iter(in_place_index<__i .index()>, std::get<__i .index()>(std::move(__i .it_)))), parent_(__i .parent_) {}
340337
341338 _LIBCPP_HIDE_FROM_ABI constexpr decltype (auto ) operator*() const {
342339 using reference = __concat_reference_t <__maybe_const<_Const, _Views>...>;
0 commit comments