| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
| Member functions | ||||
stride_view::size | ||||
(C++26) | ||||
| Deduction guides | ||||
| Iterator | ||||
| Member functions | ||||
| Non-member functions | ||||
constexprauto size() requiresranges::sized_range<V>; | (since C++23) | |
constexprauto size()const requiresranges::sized_range<const V>; | (since C++23) | |
Returns the number of elements.
Letbase_ be the underlying view andstride_ be the stored stride value. Equivalent to:
return/*to-unsigned-like*/(/*div-ceil*/(ranges::distance(base_), stride_));
Contents |
(none)
The number of elements. The returned value is calculated as if by expression
(ranges::size(base_)/ stride_)+((ranges::size(base_)% stride_?1:0).
#include <forward_list>#include <ranges> int main(){namespace vs= std::views;constexprstaticauto v={1,2,3,4,5}; static_assert( vs::stride(v,1).size()==5 and vs::stride(v,2).size()==3 and vs::stride(v,3).size()==2 and vs::stride(v,4).size()==2 and vs::stride(v,5).size()==1 and vs::stride(v,6).size()==1); std::forward_list list{v};// auto s = vs::stride(list, 2).size(); // Error: not a sized_range}
(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] |