|
|
Member functions | ||||
Non-member functions | ||||
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20) | ||||
Helper concepts | ||||
(C++23) | ||||
Helper classes | ||||
uses_allocator<std::tuple> | ||||
(C++23) | ||||
(C++23) | ||||
Deduction guides(C++17) |
Defined in header <tuple> | ||
template<class...Types,class Alloc> struct uses_allocator<std::tuple<Types...>, Alloc>:std::true_type{}; | (since C++11) | |
This specialization ofstd::uses_allocator informs other library components that tuples supportuses-allocator construction, even though they do not have a nestedallocator_type
.
Contents |
value [static] | true (public static member constant) |
operator bool | converts the object tobool, returnsvalue (public member function) |
operator() (C++14) | returnsvalue (public member function) |
Type | Definition |
value_type | bool |
type | std::integral_constant<bool, value> |
// myalloc is a stateful Allocator with a single-argument constructor// that takes an int. It has no default constructor. using innervector_t=std::vector<int, myalloc<int>>;using elem_t=std::tuple<int, innervector_t>;using Alloc=std::scoped_allocator_adaptor< myalloc<elem_t>, myalloc<int>>; Alloc a(1,2);std::vector<elem_t, Alloc> v(a); v.resize(1);// uses allocator #1 for elements of v std::get<1>(v[0]).resize(10);// uses allocator #2 for innervector_t
(C++11) | checks if the specified type supports uses-allocator construction (class template)[edit] |