最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

class
<flat_map>

# std::sorted_unique_t(C++23)

    namespace std {
      struct sorted_unique_t { explicit sorted_unique_t() = default; };
      inline constexpr sorted_unique_t sorted_unique{};
    }

## 概要

`sorted_unique_t`は、`flat_map`コンテナに挿入するシーケンスがソート済みかつ重複要素がないことを示すためのタグ型および値である。

このクラス自体は空であり、オーバーロード解決のためにのみ使用される。

## 例

    #include <iostream>
    #include <flat_map>

    int main()
    {
      std::flat_map<int, char> fm = {
        {3, 'a'}
      };

      std::flat_map<int, char> fm2 = {
        {5, 'd'},
        {15, 'e'}
      };

      // 挿入するシーケンスがソート済みかつ重複要素がないことがわかっている場合、
      // sorted_uniqueを指定した方が高速になる
      fm.insert(std::sorted_unique, fm2.begin(), fm2.end());

      for (const auto& [key, value] : fm) {
        std::cout << key << " : " << value << std::endl;
      }
    }

### 出力

    3 : a
    5 : d
    15 : e

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- Visual C++: ??

## 関連項目

- `std::flat_map`