class template
std::ranges::enumerate_view(C++23)
namespace std::ranges {
template<view V>
requires range-with-movable-references<V>
class enumerate_view : public view_interface<enumerate_view<V>> { …… }; // (1)
namespace views {
inline constexpr /*unspecified*/ enumerate = /*unspecified*/; // (2)
}
}
概要
enumerate_viewはインデックスを付けるview。
enumerate_viewの要素は、インデックスと元のRangeの要素からなるtuple (tuple<range_difference_t<Base>, range_value_t<Base>>)である。
- (1):
enumerate_viewのクラス定義
- (2):
enumerate_viewを生成するRangeアダプタオブジェクト
Rangeコンセプト
| borrowed |
sized |
output |
input |
forward |
bidirectional |
random_access |
contiguous |
common |
viewable |
view |
|
※ |
※ |
〇 |
※ |
※ |
※ |
|
※ |
○ |
○ |
効果
- (2): 式
views::enumerate(E)の効果はenumerate_view<views::all_t<decltype((E))>>(E) と等しい
メンバ関数
継承しているメンバ関数
推論補助
例
出力
0 a
1 b
2 c
バージョン
言語
処理系
参照