Namespaces
Variants
Views
Actions

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.

Contents

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>

[edit] Example

#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() {}

[edit] See also

checks if the specified type supports uses-allocator construction
(class template) [edit]