| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
| Member functions | ||||
zip_view::size | ||||
| Deduction guides | ||||
| Iterator | ||||
| Member functions | ||||
| Non-member functions | ||||
| Sentinel | ||||
| Member functions | ||||
| Non-member functions | ||||
constexprauto size() requires(ranges::sized_range<Views>&& ...); | (1) | (since C++23) |
constexprauto size()const requires(ranges::sized_range<const Views>&& ...); | (2) | (since C++23) |
Returns the number of elements in thezip_view. Provided only if each underlying (adapted) range satisfiessized_range.
Equivalent to:
returnstd::apply([](auto...sizes){using CT=/*make-unsigned-like-t*/<std::common_type_t<decltype(sizes)...>>;returnranges::min({CT(sizes)...});},/*tuple-transform*/(ranges::size, views_));
Contents |
(none)
The number of elements, which is the minimum size among all sizes of adaptedviews.
#include <algorithm>#include <cassert>#include <deque>#include <forward_list>#include <ranges>#include <vector> int main(){auto x=std::vector{1,2,3,4,5};auto y=std::deque{'a','b','c'};auto z=std::forward_list{1.,2.}; auto v1= std::views::zip(x, y);assert(v1.size()==std::min(x.size(), y.size()));assert(v1.size()==3); [[maybe_unused]]auto v2= std::views::zip(x, z);// auto sz = v2.size(); // Error, v2 does not have size(): static_assert(not std::ranges::sized_range<decltype(z)>);}
(C++20) | returns an integer equal to the size of a range (customization point object)[edit] |
(C++20) | returns a signed integer equal to the size of a range (customization point object)[edit] |