Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::stack<T,Container>::push_range

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

      [edit template]
       
       
       
       
      template<container-compatible-range<value_type> R>
      void push_range( R&& rg);
      (since C++23)

      Inserts a copy of each element ofrg instack, as if by:


      Each iterator in the rangerg is dereferenced exactly once.

      Contents

      [edit]Parameters

      rg - acontainer compatible range, that is, aninput_range whose elements are convertible toT

      [edit]Complexity

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

      [edit]Notes

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

      [edit]Example

      Run this code
      #include <initializer_list>#include <stack>#include <version>#ifdef __cpp_lib_format_ranges#include <print>usingstd::println;#else#define FMT_HEADER_ONLY#include <fmt/ranges.h>using fmt::println;#endif int main(){std::stack<int> adaptor;constauto rg={1,3,2,4}; #ifdef __cpp_lib_containers_ranges    adaptor.push_range(rg);#elsefor(int e: rg)        adaptor.push(e);#endif     println("{}", adaptor);}

      Output:

      [1, 3, 2, 4]

      [edit]See also

      inserts element at the top
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/stack/push_range&oldid=156412"

      [8]ページ先頭

      ©2009-2025 Movatter.jp