std::ranges::slide_view<V>::begin
来自cppreference.com
<tbody>
</tbody>
constexpr auto begin() requires (!(/*simple-view*/<V> && /*slide-caches-nothing*/<const V>)); |
(1) | (C++23 起) |
constexpr auto begin() const requires /*slide-caches-nothing*/<const V>; |
(2) | (C++23 起) |
返回指向 slide_view 首个元素的迭代器。
return iterator<false>(ranges::begin(base_), ranges::next(ranges::begin(base_), n_ - 1, ranges::end(base_)), n_);
参数
(无)
返回值
指向 slide_view 首个元素的迭代器,根据有无 const 限定,它指向底层视图类型的大小为 n_ 的子范围,底层视图类型对于重载 (1) 为 V,对于重载 (2) 为 const V。
示例
运行此代码
#include <iostream>
#include <ranges>
#include <string_view>
using namespace std::literals;
int main()
{
static constexpr auto source = {"∀x"sv, "∃y"sv, "ε"sv, "δ"sv};
auto view{std::ranges::slide_view(source, 2)};
const auto subrange{*(view.begin())};
for (std::string_view const s : subrange)
std::cout << s << ' ';
std::cout << '\n';
}
输出:
∀x ∃y
参阅
| 返回 指向末尾的迭代器或哨位 (公开成员函数) | |
(C++23) |
比较哨位与 slide_view::begin 返回的迭代器 (函数) |