std::uses_allocator<std::flat_multimap>
Min standard notice:
Header: <flat_map>
Provides a transparent specialization of the std::uses_allocator type trait for std::flat_multimap: the container adaptor uses allocator if and only if the underlying container does.
# Declarations
template< class Key, class T, class Compare,
class KeyContainer, class MappedContainer, class Allocator >
struct uses_allocator<std::flat_multimap<Key, T, Compare,
KeyContainer, MappedContainer>, Allocator>
: std::bool_constant<std::uses_allocator_v<KeyContainer, Allocator> &&
std::uses_allocator_v<MappedContainer, Allocator>> {};
(since C++23)
# Example
#include <memory>
#include <flat_map>
static_assert(
std::uses_allocator<std::flat_multimap<int, int>, void>::value == false &&
std::uses_allocator<std::flat_multimap<int, int>, std::allocator<int>>::value == true
);
int main() {}