Namespaces
Variants

std:: front_insert_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
ヘッダーで定義 <iterator>
template < class Container >

class front_insert_iterator

: public std:: iterator < std:: output_iterator_tag , void , void , void , void >
(C++17まで)
template < class Container >
class front_insert_iterator ;
(C++17以降)

std::front_insert_iterator は、構築されたコンテナに対して要素を先頭に追加する LegacyOutputIterator です。イテレータ(逆参照されているかどうかに関わらず)が代入されるたびに、コンテナの push_front() メンバ関数が呼び出されます。 std::front_insert_iterator のインクリメントは何も行いません。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - C++関連の専門用語(Member types、Member functions、Member objects、Example、See also)は原文のまま保持しました - HTMLタグ、属性、クラス名、ID、リンク先は一切変更していません - 数値や書式設定は完全に保持されています

メンバー型

メンバー型 定義
iterator_category std:: output_iterator_tag
value_type void
difference_type

void

(C++20まで)

std::ptrdiff_t

(C++20以降)
pointer void
reference void
container_type Container

メンバ型 iterator_category , value_type , difference_type , pointer および reference は、 std:: iterator < std:: output_iterator_tag , void , void , void , void > からの継承によって取得されることが要求される。

(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 を作成する
(関数テンプレート)
コンテナの末尾への挿入のためのイテレータアダプタ
(クラステンプレート)
コンテナへの挿入のためのイテレータアダプタ
(クラステンプレート)