std::front_insert_iterator
From cppreference.com
| ヘッダ <iterator> で定義 |
||
| template< class Container > class front_insert_iterator |
(C++17まで) | |
| template< class Container > class front_insert_iterator; |
(C++17以降) | |
std::front_insert_iterator は、構築されたコンテナの先頭に要素を挿入する LegacyOutputIterator です。イテレータ(逆参照されたかどうかにかかわらず)が代入されるたびに、コンテナの push_front() メンバ関数が呼び出されます。std::front_insert_iterator のインクリメントは何も行いません。
目次 |
[編集] メンバ型
| メンバ型 | 定義 | ||||
iterator_category
|
std::output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
| ||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
コンテナ
|
|
メンバ型 |
(C++17まで) |
[編集] メンバ関数
新しい front_insert_iterator を構築します(public member function) | |
| 関連コンテナにオブジェクトを挿入します (public member function) | |
| 何も行わない (public member function) | |
| 何も行わない (public member function) |
[編集] メンバオブジェクト
| メンバ名 | 定義 |
container (protected) |
Container* 型のポインタ |
[編集] 例
このコードを実行
#include <algorithm> #include <deque> #include <iostream> #include <iterator> #include <vector> namespace stb { void println(auto, auto const& d) { std::ranges::copy(d, std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; } } int main() { std::vector<int> v{1, 2, 3, 4, 5}; std::deque<int> d; std::copy(v.begin(), v.end(), std::front_insert_iterator<std::deque<int>>(d)); // or std::front_inserter(d) stb::println("{}", d); }
出力
5 4 3 2 1
[編集] 関連項目
引数から推論される型 std::front_insert_iterator を作成します(関数テンプレート) | |
| コンテナの末尾への挿入のためのイテレータアダプタ (クラステンプレート) | |
| コンテナへの挿入のためのイテレータアダプタ (クラステンプレート) |