# std::uses_allocator<std::flat_map>

From cppreference.com
< cpp‎ | container‎ | flat map

Defined in header `<flat_map>` |  |
template< class Key, class T, class Compare, class KeyContainer, class MappedContainer, class Allocator > struct uses_allocator<std::flat_map<Key, T, Compare, KeyContainer, MappedContainer>, Allocator> : std::bool_constant<std::uses_allocator_v<KeyContainer, Allocator> && std::uses_allocator_v<MappedContainer, Allocator>> {}; |  | (since C++23)

Provides a transparent specialization of the std::uses_allocator type trait for std::flat_map: the container adaptor uses allocator if and only if the underlying container does.

## Inherited from std::integral_constant

### Member constants

value [static] | true (public static member constant)

### Member functions

operator bool | converts the object to bool, returns value (public member function)
operator() (C++14) | returns value (public member function)

### Member types

Type | Definition
`value_type` | bool
`type` | std::integral_constant<bool, value>

### Example

Run this code

    #include <memory>
    #include <flat_map>

    static_assert(
        std::uses_allocator<std::flat_map<int, int>, void>::value == false &&
        std::uses_allocator<std::flat_map<int, int>, std::allocator<int>>::value == true
    );

    int main() {}

### See also

uses_allocator (C++11) | checks if the specified type supports uses-allocator construction (class template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/flat_map/uses_allocator&oldid=168876"