最終更新日時: 2025年02月08日 15時26分51秒 (JST)
suomesta が更新

履歴 編集

<flat_set>

# flat_set(C++23)

`<flat_set>` ヘッダは、ソート済みキーによる連想コンテナを定義する。

`std::set`と違ってノードベースの実装ではなく、メモリ連続性のある平坦 (flat) な配列で扱われる。

`<flat_set>` ヘッダでは、キーの重複を許さない `std::flat_set` クラステンプレート、およびキーの重複を許す `std::flat_multiset` クラステンプレートを提供する。

このヘッダでは、以下の標準ヘッダをインクルードする：

- `<initializer_list>`
- `<compare>`

名前 | 説明 | 対応バージョン
--- | --- | ---
`flat_set` | キーの重複を許さない平坦な順序付き連想コンテナ(class template) | C++23
`flat_multiset` | キーの重複を許す平坦な順序付き連想コンテナ(class template) | C++23
`sorted_unique_t` | ソート済みかつ重複要素がないことを示すためのタグ型(class) | C++23
`sorted_unique` | ソート済みかつ重複要素がないことを示すためのタグ値(variable) | C++23
`sorted_equivalent_t` | ソート済みであること（重複はしてもよい）を示すためのタグ型(class) | C++23
`sorted_equivalent` | ソート済みであること（重複はしてもよい）を示すためのタグ値(variable) | C++23

## バージョン

### 言語

- C++23

## 参照

- P1222R0 A Standard `flat_set`
  - C++23で`flat_set`が導入された経緯・動機・設計について記載されている
- P1222R4 A Standard `flat_set`
  - C++23で導入された`flat_set`の仕様