最終更新日時(UTC): 2025年01月30日 11時22分25秒
suomesta が更新

履歴 編集

<flat_map>

# flat_map(C++23)

`<flat_map>` ヘッダは、ソート済みキーによる順序付き連想配列を定義する。

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

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

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

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

名前 | 説明 | 対応バージョン
--- | --- | ---
`flat_map` | キーの重複を許さない平坦な順序付き連想コンテナ(class template) | C++23
`flat_multimap` | キーの重複を許す平坦な順序付き連想コンテナ(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

## 参照

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