std::ranges::stride_view<V>::begin
From cppreference.com
< cpp | ranges | stride view
| constexpr auto begin() requires (!__simple_view<V>); |
(1) | (C++23から) |
| constexpr auto begin() const requires ranges::range<const V>; |
(2) | (C++23から) |
stride_view の最初の要素を指すイテレータを返します。
1) return iterator<false>(this, ranges::begin(base_)); と等価です。
2) return iterator<true>(this, ranges::begin(base_)); と等価です。
オーバーロード (1) は、V が単純ビュー(つまり、V と const V が同じイテレータとセンチネル型を持つビューである場合)である場合、オーバーロード解決に参加しません。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
ビューの最初の要素へのイテレータ。
[編集] 例
テスト用のリンク: Compiler Explorer。
このコードを実行
#include <print> #include <ranges> int main() { constexpr auto v = {'A', 'B', 'C'}; const auto x = v | std::views::stride(2); const auto y = v | std::views::reverse | std::views::stride(2); const auto z = v | std::views::stride(2) | std::views::reverse; std::println("{} {} {}", *x.begin(), *y.begin(), *z.begin()); }
出力
A C C
[編集] 関連項目
| 終端へのイテレータまたはセンチネルを返す (public メンバ関数) |