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

履歴 編集

function template
<inplace_vector>

std::inplace_vector::emplace(C++26)

template <class... Args>
constexpr iterator emplace(const_iterator position, Args&&... args); // (1) C++26

概要

任意の位置に要素を直接構築で挿入する。

引数args...から直接構築した要素をpositionの前に挿入する。

戻り値

挿入された要素を指すイテレータ。

例外

size() == Nの場合、bad_alloc例外を送出する。

計算量

挿入位置からend()までの要素数に対して線形時間。

#include <print>
#include <inplace_vector>
#include <string>
#include <utility>

int main()
{
  std::inplace_vector<std::pair<int, std::string>, 5> iv;

  iv.emplace(iv.begin(), 1, "one");
  iv.emplace(iv.end(), 3, "three");
  iv.emplace(iv.begin() + 1, 2, "two");

  for (const auto& [k, val] : iv) {
    std::println("{}:{}", k, val);
  }
}

出力

1:one
2:two
3:three

バージョン

言語

  • C++26

処理系

参照