最終更新日時(UTC):
が更新

履歴 編集

function template
<deque>

std::deque::prepend_range(C++23)

template <container-compatible-range<T> R>
void prepend_range(R&& rg); // C++23

概要

先頭にRangeの要素を追加する。

テンプレートパラメータ制約

T*ranges::begin(rg)からdequeコンテナへのEmplaceConstructibleであること。

効果

Rangergの各要素を、先頭に追加する。

戻り値

なし

計算量

N = ranges::distance(rg)とすると、Nに比例。TのコンストラクタはN回呼ばれる。

#include <deque>
#include <iostream>

int main()
{
  std::deque<int> d = {1, 2, 3};
  const int a[3] = {4, 5, 6};

  // Rangeを先頭に追加
  d.prepend_range(a);

  for (int i : d) {
    std::cout << i << " ";
  }
  std::cout << std::endl;
}

出力

4 5 6 1 2 3 

関連項目

名前 説明
push_front 先頭に要素を追加する
emplace_front 先頭に要素を直接構築で追加する