table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::list::prepend_range(3) | C++ Standard Libary | std::list::prepend_range(3) | 
NAME¶
std::list::prepend_range - std::list::prepend_range
Synopsis¶
 template< container-compatible-range<T> R > (since
    C++23)
  
   void prepend_range( R&& rg );
  
   Inserts, in non-reversing order, copies of elements in rg before begin().
    Each
  
   iterator in the range rg is dereferenced exactly once.
  
   No iterators or references are invalidated.
Parameters¶
 rg - a container compatible range, that is, an input_range whose
    elements are
  
   convertible to T
Type requirements¶
 -
  
   T must be EmplaceConstructible into list from *ranges::begin(rg). Otherwise,
    the
  
   behavior is undefined.
Return value¶
(none)
Complexity¶
Linear in size of rg.
Notes¶
 Feature-test macro Value Std Feature
  
   __cpp_lib_containers_ranges 202202L (C++23) Ranges-aware construction and
    insertion
Example¶
// Run this code
  
   #include <algorithm>
  
   #include <cassert>
  
   #include <list>
  
   #include <vector>
  
   int main()
  
   {
  
   auto container = std::list{0, 1, 2, 3};
  
   const auto rg = std::vector{-3, -2, -1};
  
   #if __cpp_lib_containers_ranges
  
   container.prepend_range(rg);
  
   #else
  
   container.insert(container.begin(), rg.cbegin(), rg.cend());
  
   #endif
  
   assert(std::ranges::equal(container, std::list{-3, -2, -1, 0, 1, 2, 3}));
  
   }
See also¶
 append_range adds a range of elements to the end
  
   (C++23) (public member function)
  
   insert_range inserts a range of elements
  
   (C++23) (public member function)
  
   push_front inserts an element to the beginning
  
   (public member function)
  
   emplace_front constructs an element in-place at the beginning
  
   (C++11) (public member function)
| 2024.06.10 | http://cppreference.com |