| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
| Member functions | ||||
enumerate_view::size | ||||
(C++26) | ||||
| Deduction guides | ||||
| Nested classes | ||||
| Iterator | ||||
| Sentinel | ||||
constexprauto size() requiresranges::sized_range<V>; | (1) | (since C++23) |
constexprauto size()const requiresranges::sized_range<const V>; | (2) | (since C++23) |
Returns the number of elements. Equivalent toreturnranges::size(base_);, wherebase_ is the underlying view.
Contents |
(none)
The number of elements.
#include <cassert>#include <forward_list>#include <ranges>#include <string_view> int main(){constexprstaticauto v1={1,2,3,4,5};constexprauto ev1{v1| std::views::enumerate}; static_assert(ev1.size()==5); static_assert(std::ranges::sized_range<decltype(v1)>); auto v2=std::forward_list{1,2,3,4,5};auto ev2{v2| std::views::enumerate}; static_assert(not std::ranges::sized_range<decltype(v2)>);// auto size = ev2.size(); // Error: v2 is not a sized rangeassert(std::ranges::distance(v2)==5);// OK, distance does not require sized// range, but has O(N) complexity here}
(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] |