# std::uses_allocator<std::variant>

From cppreference.com
< cpp‎ | utility‎ | variant

template <class... Types, class Alloc> struct uses_allocator<std::variant<Types...>, Alloc> : std::true_type { }; |  | (since C++17)

Provides a specialization of the std::uses_allocator type trait for std::variant to inform other library components that variant can be constructed with an allocator, even though it does not have a nested `allocator_type`.

Type requirements
- `Alloc` must meet the requirements of `Allocator`.

## 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>

### Notes

The std::variant itself does not use allocators, it passes then through to the constructors of the contained values.

### Example

| This section is incomplete Reason: no example

### See also

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/variant/uses_allocator&oldid=89748"
Category:

- Todo no example