Lines Matching refs:_Views
125 template <input_range... _Views>
126 requires(view<_Views> && ...) && (sizeof...(_Views) > 0) in requires() argument
127 class zip_view : public view_interface<zip_view<_Views...>> { in requires()
129 _LIBCPP_NO_UNIQUE_ADDRESS tuple<_Views...> __views_; in requires()
142 constexpr explicit zip_view(_Views... __views) : __views_(std::move(__views)...) {} in requires()
146 requires(!(__simple_view<_Views> && ...)) { in requires()
152 requires(range<const _Views> && ...) { in requires()
158 requires(!(__simple_view<_Views> && ...)) { in requires()
159 if constexpr (!__zip_is_common<_Views...>) { in requires()
161 } else if constexpr ((random_access_range<_Views> && ...)) { in requires()
170 requires(range<const _Views> && ...) { in requires()
171 if constexpr (!__zip_is_common<const _Views...>) { in requires()
173 } else if constexpr ((random_access_range<const _Views> && ...)) { in requires()
182 requires(sized_range<_Views> && ...) { in requires()
193 requires(sized_range<const _Views> && ...) { in requires()
206 template <bool _Const, class... _Views>
207 concept __zip_all_random_access = (random_access_range<__maybe_const<_Const, _Views>> && ...);
209 template <bool _Const, class... _Views>
210 concept __zip_all_bidirectional = (bidirectional_range<__maybe_const<_Const, _Views>> && ...);
212 template <bool _Const, class... _Views>
213 concept __zip_all_forward = (forward_range<__maybe_const<_Const, _Views>> && ...);
215 template <bool _Const, class... _Views>
217 if constexpr (__zip_all_random_access<_Const, _Views...>) { in __get_zip_view_iterator_tag()
219 } else if constexpr (__zip_all_bidirectional<_Const, _Views...>) { in __get_zip_view_iterator_tag()
221 } else if constexpr (__zip_all_forward<_Const, _Views...>) { in __get_zip_view_iterator_tag()
228 template <bool _Const, class... _Views>
231 template <bool _Const, class... _Views>
232 requires __zip_all_forward<_Const, _Views...>
233 struct __zip_view_iterator_category_base<_Const, _Views...> {
237 template <input_range... _Views>
238 requires(view<_Views> && ...) && (sizeof...(_Views) > 0)
240 class zip_view<_Views...>::__iterator : public __zip_view_iterator_category_base<_Const, _Views...>…
242 __tuple_or_pair<iterator_t<__maybe_const<_Const, _Views>>...> __current_;
245 …constexpr explicit __iterator(__tuple_or_pair<iterator_t<__maybe_const<_Const, _Views>>...> __curr…
249 friend class zip_view<_Views...>::__iterator;
252 friend class zip_view<_Views...>::__sentinel;
254 friend class zip_view<_Views...>;
257 using iterator_concept = decltype(__get_zip_view_iterator_tag<_Const, _Views...>());
258 using value_type = __tuple_or_pair<range_value_t<__maybe_const<_Const, _Views>>...>;
259 using difference_type = common_type_t<range_difference_t<__maybe_const<_Const, _Views>>...>;
266 …requires _Const && (convertible_to<iterator_t<_Views>, iterator_t<__maybe_const<_Const, _Views>>> …
285 requires __zip_all_forward<_Const, _Views...> {
293 requires __zip_all_bidirectional<_Const, _Views...> {
300 requires __zip_all_bidirectional<_Const, _Views...> {
308 requires __zip_all_random_access<_Const, _Views...> {
315 requires __zip_all_random_access<_Const, _Views...> {
322 requires __zip_all_random_access<_Const, _Views...> {
329 requires(equality_comparable<iterator_t<__maybe_const<_Const, _Views>>> && ...) {
330 if constexpr (__zip_all_bidirectional<_Const, _Views...>) {
339 requires __zip_all_random_access<_Const, _Views...> {
345 requires __zip_all_random_access<_Const, _Views...> {
351 requires __zip_all_random_access<_Const, _Views...> {
357 requires __zip_all_random_access<_Const, _Views...> {
363 requires __zip_all_random_access<_Const, _Views...> &&
364 (three_way_comparable<iterator_t<__maybe_const<_Const, _Views>>> && ...) {
370 requires __zip_all_random_access<_Const, _Views...> {
378 requires __zip_all_random_access<_Const, _Views...> {
384 requires __zip_all_random_access<_Const, _Views...> {
392 …sized_sentinel_for<iterator_t<__maybe_const<_Const, _Views>>, iterator_t<__maybe_const<_Const, _Vi…
405 …(noexcept(ranges::iter_move(declval<const iterator_t<__maybe_const<_Const, _Views>>&>())) && ...) …
406 …(is_nothrow_move_constructible_v<range_rvalue_reference_t<__maybe_const<_Const, _Views>>> && ...))…
412 (noexcept(ranges::iter_swap(declval<const iterator_t<__maybe_const<_Const, _Views>>&>(),
413 declval<const iterator_t<__maybe_const<_Const, _Views>>&>())) &&
415 requires(indirectly_swappable<iterator_t<__maybe_const<_Const, _Views>>> && ...) {
420 template <input_range... _Views>
421 requires(view<_Views> && ...) && (sizeof...(_Views) > 0)
423 class zip_view<_Views...>::__sentinel {
425 __tuple_or_pair<sentinel_t<__maybe_const<_Const, _Views>>...> __end_;
428 …constexpr explicit __sentinel(__tuple_or_pair<sentinel_t<__maybe_const<_Const, _Views>>...> __end)…
430 friend class zip_view<_Views...>;
435 __iter_current(zip_view<_Views...>::__iterator<_OtherConst> const& __it) {
445 …requires _Const && (convertible_to<sentinel_t<_Views>, sentinel_t<__maybe_const<_Const, _Views>>> …
449 …es(sentinel_for<sentinel_t<__maybe_const<_Const, _Views>>, iterator_t<__maybe_const<_OtherConst, _…
457 …ed_sentinel_for<sentinel_t<__maybe_const<_Const, _Views>>, iterator_t<__maybe_const<_OtherConst, _…
459 …_FROM_ABI friend constexpr common_type_t<range_difference_t<__maybe_const<_OtherConst, _Views>>...>
464 using _Diff = common_type_t<range_difference_t<__maybe_const<_OtherConst, _Views>>...>;
473 …ed_sentinel_for<sentinel_t<__maybe_const<_Const, _Views>>, iterator_t<__maybe_const<_OtherConst, _…
475 …_FROM_ABI friend constexpr common_type_t<range_difference_t<__maybe_const<_OtherConst, _Views>>...>
481 template <class... _Views>
482 inline constexpr bool enable_borrowed_range<zip_view<_Views...>> = (enable_borrowed_range<_Views> &…