std::ranges::slide_view<V>::begin
ja.cppreference.net より
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_);
V が slide-caches-first をモデル化する場合、この関数は結果を cached_begin_ 内にキャッシュし、後続の呼び出しで使用します。これは、range によって要求される償却定数時間の複雑性を提供するために必要です。パラメータ
(なし)
戻り値
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
から返されたイテレータと番兵を比較する
(関数) |