std::allocator_traits
STD::分配器[医]性状
Defined in header | | |
---|
template< class Alloc > struct allocator_traits; | | (since C++11) |
大allocator_traits
类模板提供了标准的方法来访问Allocator
斯标准容器和其他标准库组件通过此模板访问分配器,这使得可以使用任何类类型作为分配器,只要用户提供的专门化allocator_traits
实现所有必需的功能。
默认的,非专门化的,allocator_traits
包含下列成员:
成员类型
Type | Definition |
---|
allocator_type | Alloc |
value_type | Alloc::value_type |
pointer | Alloc::pointer if present, otherwise value_type* |
const_pointer | Alloc::const_pointer if present, otherwise std::pointer_traits<pointer>::rebind<const value_type> |
void_pointer | Alloc::void_pointer if present, otherwise std::pointer_traits<pointer>::rebind<void> |
const_void_pointer | Alloc::const_void_pointer if present, otherwise std::pointer_traits<pointer>::rebind<const void> |
difference_type | Alloc::difference_type if present, otherwise std::pointer_traits<pointer>::difference_type |
size_type | Alloc::size_type if present, otherwise std::make_unsigned<difference_type>::type |
propagate_on_container_copy_assignment | Alloc::propagate_on_container_copy_assignment if present, otherwise std::false_type |
propagate_on_container_move_assignment | Alloc::propagate_on_container_move_assignment if present, otherwise std::false_type |
propagate_on_container_swap | Alloc::propagate_on_container_swap if present, otherwise std::false_type |
is_always_equal(since C++17) | Alloc::is_always_equal if present, otherwise std::is_empty<Alloc>::type |
成员别名模板
Type | Definition |
---|
rebind_alloc<T> | Alloc::rebind<T>::other if present, otherwise Alloc<T, Args> if this Alloc is Alloc<U, Args> |
rebind_traits<T> | std::allocator_traits<rebind_alloc<T>> |
成员函数
allocate static | allocates uninitialized storage using the allocator (public static member function) |
---|
deallocate static | deallocates storage using the allocator (public static member function) |
construct static | constructs an object in the allocated storage (function template) |
destroy static | destructs an object stored in the allocated storage (function template) |
max_size static | returns the maximum object size supported by the allocator (public static member function) |
select_on_container_copy_construction static | obtains the allocator to use after copying a standard container (public static member function) |
另见
allocator | the default allocator (class template) |
---|
scoped_allocator_adaptor (C++11) | implements multi-level allocator for multi-level containers (class template) |
pointer_traits (C++11) | provides information about pointer-like types (class template) |
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
http://en.cppreference.com/w/cpp/Memory/allocator[医]性状