class template
std::ranges::slide_view(C++23)
namespace std::ranges {
template<view V>
requires input_range<V>
class slide_view : public view_interface<slide_view<V>> {…… }; // (1)
namespace views {
inline constexpr /*unspecified*/ slide = /*unspecified*/; // (2)
}
}
概要
slide_view
は各要素とそれに隣接する要素を実行時指定の個数ずつ参照するview
のRange。
指定した個数が元となるRangeの要素数より大きい場合、このview
は空である。
Rangeコンセプト
外側Range
borrowed |
sized |
output |
input |
forward |
bidirectional |
random_access |
contiguous |
common |
viewable |
view |
|
※ |
〇 |
〇 |
※ |
※ |
※ |
|
※ |
○ |
○ |
内側Range
borrowed |
sized |
output |
input |
forward |
bidirectional |
random_access |
contiguous |
common |
viewable |
view |
|
※ |
〇 |
〇 |
※ |
※ |
※ |
※ |
※ |
○ |
○ |
効果
- (2): 式
views::slide(E, N)
の効果はslide_view(E, N)
と等しい。
事前条件
メンバ関数
名前 |
説明 |
対応バージョン |
(constructor) |
コンストラクタ |
C++23 |
base |
V の参照を取得する |
C++23 |
begin |
先頭を指すイテレータを取得する |
C++23 |
end |
番兵を取得する |
C++23 |
size |
要素数を取得する |
C++23 |
継承しているメンバ関数
推論補助
名前 |
説明 |
対応バージョン |
(deduction_guide) |
クラステンプレートの推論補助 |
C++23 |
例
出力
[[1], [2], [3], [4], [5], [6]]
[[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]
[[1, 2, 3, 4, 5, 6]]
[]
バージョン
言語
処理系
関連項目
参照