名前空間
変種
操作

std::ranges::stride_view<V>::begin

From cppreference.com
< cpp‎ | ranges‎ | stride view
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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単純ビュー(つまり、Vconst 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 メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)