Skip to content

Commit 1a864b0

Browse files
some fixes
1 parent 19f0ef1 commit 1a864b0

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

libcxx/include/__ranges/concat_view.h

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
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

7475
template <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

8079
template <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

8582
template <class _View, class... _Views>
8683
struct __last_view : __last_view<_Views...> {};
@@ -133,7 +130,7 @@ concept __concat_is_bidirectional =
133130
template <bool _Const, class... _Views>
134131
concept __all_forward = (forward_range<__maybe_const<_Const, _Views>> && ...);
135132

136-
template <bool _Const, class... Ts>
133+
template <bool _Const, class... _Tp>
137134
struct __apply_drop_first;
138135

139136
template <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 {
225222
public:
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

334331
public:
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

Comments
 (0)