table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::forward_list::prepend_range(3) | C++ Standard Libary | std::forward_list::prepend_range(3) | 
NAME¶
std::forward_list::prepend_range - std::forward_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 forward_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 <forward_list>
  
   #include <vector>
  
   int main()
  
   {
  
   auto container = std::forward_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_after(container.before_begin(), rg.cbegin(), rg.cend());
  
   #endif
  
   assert(std::ranges::equal(container, std::forward_list{-3, -2, -1, 0, 1, 2,
    3}));
  
   }
See also¶
 insert_range inserts a range of elements
  
   (C++23) (public member function)
  
   insert_range_after inserts a range of elements after an element
  
   (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
  
   (public member function)
| 2024.06.10 | http://cppreference.com |