Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::front_insert_iterator

      From cppreference.com
      <cpp‎ |iterator
       
       
      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)
       
       
      Defined in header<iterator>
      template<class Container>

      class front_insert_iterator

         :publicstd::iterator<std::output_iterator_tag,void,void,void,void>
      (until C++17)
      template<class Container>
      class front_insert_iterator;
      (since C++17)

      std::front_insert_iterator is aLegacyOutputIterator that prepends elements to a container for which it was constructed. The container'spush_front() member function is called whenever the iterator (whether dereferenced or not) is assigned to. Incrementing thestd::front_insert_iterator is a no-op.

      Contents

      [edit]Member types

      Member type Definition
      iterator_categorystd::output_iterator_tag
      value_typevoid
      difference_type

      void

      (until C++20)

      std::ptrdiff_t

      (since C++20)
      pointervoid
      referencevoid
      container_typeContainer

      Member typesiterator_category,value_type,difference_type,pointer andreference are required to be obtained by inheriting fromstd::iterator<std::output_iterator_tag,void,void,void,void>.

      (until C++17)

      [edit]Member functions

      constructs a newfront_insert_iterator
      (public member function)[edit]
      inserts an object into the associated container
      (public member function)[edit]
      no-op
      (public member function)[edit]
      no-op
      (public member function)[edit]

      [edit]Member objects

      Member name Definition
      container(protected) a pointer of typeContainer*

      [edit]Example

      Run this code
      #include <algorithm>#include <deque>#include <iostream>#include <iterator>#include <vector> namespace stb{void println(auto,autoconst& 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);}

      Output:

      5 4 3 2 1

      [edit]See also

      creates astd::front_insert_iterator of type inferred from the argument
      (function template)[edit]
      iterator adaptor for insertion at the end of a container
      (class template)[edit]
      iterator adaptor for insertion into a container
      (class template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/front_insert_iterator&oldid=160096"

      [8]ページ先頭

      ©2009-2025 Movatter.jp