std::list<T,Allocator>::prepend_range - cppreference.com (original) (raw)

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.

[edit] Parameters

[edit] Complexity

Linear in size of rg.

[edit] Notes

Feature-test macro Value Std Feature
__cpp_lib_containers_ranges 202202L (C++23) Ranges-aware construction and insertion

[edit] Example

#include #include #include #include   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})); }

[edit] See also

| | adds a range of elements to the end (public member function) | | --------------------------------------------------------------------------- | | | inserts a range of elements (public member function) | | | inserts an element to the beginning (public member function) | | | constructs an element in-place at the beginning (public member function) |