Namespaces
Variants

std::ranges::slide_view<V>:: begin

From cppreference.net
Ranges library
Range adaptors
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 の最初の要素へのイテレータを返します。

1) V slide-caches-first をモデル化する場合、次と等価:
それ以外の場合、以下と同等 return iterator < false > ( ranges:: begin ( base_ ) , n_ ) ; .
Vが V slide-caches-first をモデル化する場合、この関数は結果を cached_begin_ 内にキャッシュし、後続の呼び出しで使用します。これは range で要求される償却定数時間計算量を提供するために必要です。
2) 次と同等: return iterator < true > ( ranges:: begin ( base_ ) , n_ ) ;

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - C++関連の専門用語(Parameters, Return value, Example, See also)は原文のまま保持しました - HTMLタグ、属性、クラス名、IDは一切変更していません - 数値や構造は完全に保持されています - プロフェッショナルな技術文書としての正確性を保っています

パラメータ

(なし)

戻り値

iterator の最初の要素へのイテレータ。これは基盤となるビュー型 V 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 から返されたイテレータと番兵を比較する
(関数)