最終更新日時(UTC): 2025年07月08日 15時33分39秒
Akira Takahashi が更新

履歴 編集

class template
<flat_map>

# std::uses_allocator(C++23)

    namespace std {
      template <class Key, class T, class Compare, class KeyContainer, class MappedContainer,
                class Alloc>
      struct uses_allocator<flat_map<Key, T, Compare, KeyContainer, MappedContainer>,
                            Alloc>
        : bool_constant<uses_allocator_v<KeyContainer, Alloc> &&
                        uses_allocator_v<MappedContainer, Alloc>> { };
    }

## 概要

`uses_allocator`の、`flat_map`に対する特殊化。

アロケータを指定する`flat_map`の`コンストラクタ`において、指定されたアロケータと、`KeyContainer`および`MappedContainer`のアロケータが合致するかをチェックするのに使われる。

## 例

    #include <flat_map>
    #include <iostream>

    int main()
    {
      using fm_t = std::flat_map<int, int>;

      std::cout << std::uses_allocator<fm_t, std::allocator<int>>::value << std::endl;
    }

### 出力

    1

## バージョン

### 言語

- C++23

### 処理系

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

## 参照