- ranges[meta header]
- std::ranges[meta namespace]
- iota_view[meta class]
- function[meta id-type]
- cpp20[meta cpp]
constexpr auto end() const; // (1)
constexpr iterator end() const requires same_as<W, Bound>; // (2)
- iterator[link iterator.md]
番兵を取得する。
// (1)
if constexpr (same_as<Bound, unreachable_sentinel_t>)
return unreachable_sentinel;
else
return sentinel{bound_};
// (2)
return iterator{bound_};
- unreachable_sentinel_t[link /reference/iterator/unreachable_sentinel_t.md]
- unreachable_sentinel[link /reference/iterator/unreachable_sentinel_t.md]
- sentinel[link sentinel.md]
- iterator[link iterator.md]
ただし、bound_
はiota_view
が内部で保持する末尾の次の値。
#include <ranges>
#include <iostream>
int main()
{
// .begin と .end を暗黙的に使用
for (int x : std::views::iota(1, 6)) {
std::cout << x << '\n';
}
}
- std::views::iota[link ../iota_view.md]
1
2
3
4
5
- C++20
- Clang: 13.0.0 [mark verified]
- GCC: 10.1.0 [mark verified]
- ICC: ?
- Visual C++: 2019 Update 10 [mark verified]