| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
constexprauto end()const; | (1) | (since C++20) |
constexpr/*iterator*/ end()const requiresstd::same_as<W, Bound>; | (2) | (since C++20) |
Bound isstd::unreachable_sentinel_t, returnsstd::unreachable_sentinel.sentinel {bound_ }.#include <iostream>#include <ranges> int main(){auto iota{std::views::iota(2,6)};auto end{iota.end()};for(auto iter{iota.begin()}; iter!= end;++iter)std::cout<<*iter<<' ';std::cout<<'\n';}
Output:
2 3 4 5