- ranges[meta header]
- std::ranges[meta namespace]
- cache_latest_view[meta class]
- function[meta id-type]
- cpp26[meta cpp]
constexpr auto end(); // (1) C++26番兵を取得する。
cache_latest_viewはinput_rangeに限定されるため、const版は提供されない。
以下と等価:
return sentinel(*this);ここで、sentinelはcache_latest_viewの内部で定義される説明専用の番兵クラスである。
cache_latest_viewはcommon_rangeのモデルとならないため、イテレータ型と番兵型は異なる型となる
#include <ranges>
#include <vector>
#include <print>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
std::ranges::cache_latest_view view{v};
int count = 0;
for (auto it = view.begin(); it != view.end(); ++it) {
++count;
}
std::println("{}", count);
}5
- C++26
- Clang: 21 [mark verified]
- GCC: 15.1 [mark verified]
- Visual C++: 2026 Update 2 [mark noimpl]