最終更新日時: 2026年03月30日 18時31分10秒 (JST)
Akira Takahashi が更新

履歴 編集

function template
<inplace_vector>

# std::inplace_vector::assign_range(C++26)

    template <container-compatible-range<T> R>
    constexpr void assign_range(R&& rg); // (1) C++26

## 概要

Rangeの要素を再代入する。

## 効果

`*this`の全要素を破棄し、Range `rg`の要素で置き換える。

## 例外

`rg`の要素数が`N`を超える場合、`bad_alloc` 例外を送出する。

## 戻り値

なし

## 例

    #include <print>
    #include <inplace_vector>
    #include <vector>

    int main()
    {
      std::inplace_vector<int, 10> iv = {1, 2, 3};

      std::vector<int> src = {10, 20, 30, 40, 50};
      iv.assign_range(src);

      for (int x : iv) std::print("{} ", x);
      std::println("");
    }

### 出力

    10 20 30 40 50

## バージョン

### 言語

- C++26

### 処理系

- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌

## 参照

- P0843R14 `inplace_vector`