std::stack<T,Container>::push_range - cppreference.com (original) (raw)

Inserts a copy of each element of rg in stack, as if by:

Each iterator in the range rg is dereferenced exactly once.

[edit] Parameters

[edit] Complexity

Identical to the complexity of c.append_range or ranges::copy(rg, std::back_inserter(c)) (depending on what function is used internally).

[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 #ifdef __cpp_lib_format_ranges #include using std::println; #else #define FMT_HEADER_ONLY #include <fmt/ranges.h> using fmt::println; #endif   int main() { std::stack adaptor; const auto rg = {1, 3, 2, 4};   #ifdef __cpp_lib_containers_ranges adaptor.push_range(rg); #else for (int e : rg) adaptor.push(e); #endif   println("{}", adaptor); }

Output:

[edit] See also

| | inserts element at the top (public member function) [edit] | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |