std::ranges::slide_view<V>::end
来自cppreference.com
| |
(1) | (C++23 起) |
| |
(2) | (C++23 起) |
1) 令
base_ 与 n_ 为底层数据成员。
- 如果
V实现slide-caches-nothing,等价于return iterator<false>(ranges::begin(base_) + ranges::range_difference_t<V>(size()), n_);。 - 如果
V实现slide-caches-last,等价于return iterator<false>(ranges::prev(ranges::end(base_), n_ - 1, ranges::begin(base_)), n_);。 - 如果
V实现common_range,等价于return iterator<false>(ranges::end(base_), ranges::end(base_), n_);。 - 否则,等价于
return sentinel(ranges::end(base_));。
2) 等价于
begin() + ranges::range_difference_t<const V>(size())。参数
(无)
返回值
代表 slide_view 末尾的哨位或迭代器。
示例
运行此代码
#include <iostream>
#include <ranges>
int main()
{
static constexpr auto source = {'A', 'B', 'C', 'D'};
for (const auto subrange: source | std::views::slide(3))
{
std::cout << "[ ";
for (auto it = subrange.begin(); it != subrange.end(); ++it)
std::cout << *it << ' ';
std::cout << "]\n";
}
}
输出:
[ A B C ]
[ B C D ]
参阅
| 返回指向起始的迭代器 (公开成员函数) | |
(C++20) |
返回指向范围起始的迭代器 (定制点对象) |
(C++20) |
返回指示范围结尾的哨位 (定制点对象) |