Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::deque<T,Allocator>::insert_range

      From cppreference.com
      <cpp‎ |container‎ |deque

      [edit template]
       
       
       
      std::deque
      Member types
      Member functions
      Non-member functions
      (until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
      Deduction guides(C++17)
       
      template<container-compatible-range<T> R>
      iterator insert_range( const_iterator pos, R&& rg);
      (since C++23)
      (constexpr since C++26)

      Inserts, in non-reversing order, copies of elements inrg beforepos.

      All iterators (including theend() iterator) are invalidated. References are invalidated too, unlesspos== begin() orpos== end(), in which case they are not invalidated.

      Each iterator in the rangerg is dereferenced exactly once.

      Ifrg overlaps with*this, the behavior is undefined.

      Contents

      [edit]Parameters

      pos - iterator before which the content will be inserted (pos may be theend() iterator)
      rg - acontainer compatible range, that is, aninput_range whose elements are convertible toT
      Type requirements
      -
      If any of the following conditions is satisfied, the behavior is undefined:

      [edit]Return value

      An iterator to the first element inserted into*this, orpos ifrg is empty.


      Notes

      Feature-test macroValueStdFeature
      __cpp_lib_containers_ranges202202L(C++23)Ranges-aware construction and insertion

      [edit]Example

      Run this code
      #include <algorithm>#include <cassert>#include <iterator>#include <deque>#include <list> int main(){auto container=std::deque{1,2,3,4};auto pos=std::next(container.begin(),2);assert(*pos==3);constauto rg=std::list{-1,-2,-3}; #ifdef __cpp_lib_containers_ranges    container.insert_range(pos, rg);#else    container.insert(pos, rg.cbegin(), rg.cend());#endifassert(std::ranges::equal(container,std::deque{1,2,-1,-2,-3,3,4}));}

      [edit]See also

      inserts elements
      (public member function)
      adds a range of elements to the beginning
      (public member function)
      adds a range of elements to the end
      (public member function)
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/deque/insert_range&oldid=155602"

      [8]ページ先頭

      ©2009-2025 Movatter.jp