std::scoped_allocator_adaptor
来自cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <scoped_allocator>
|
||
| template< class OuterAlloc, class... InnerAlloc > class scoped_allocator_adaptor : public OuterAlloc; |
(C++11 起) | |
std::scoped_allocator_adaptor类模板是一个分配器,它可以用来与多级容器(矢量组的地图等的元组列表)。它是实例化一个外部分配器的类型OuterAlloc和零个或多个内部分配器类型InnerAlloc...。直接构造一个scoped_allocator_adaptor使用的容器OuterAlloc分配的元素,但如果一个元素本身是一个容器,它使用的内部分配器。该容器中的元素,如果他们是自己的容器,使用所述第二内的分配器,等,如果有更多的水平到容器上有比内的分配器,被再利用于所有进一步的嵌套容器的最后内分配器.Original:
The
std::scoped_allocator_adaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type OuterAlloc and zero or more inner allocator types InnerAlloc.... A container constructed directly with a scoped_allocator_adaptor uses OuterAlloc to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
scoped_allocator_adaptor为目的,如果下一个内分配器是A,任何一类Tstd::uses_allocator<T,A>::value == true参与在递归,就好像它是一个容器。此外,std::pair被视为容器的具体重载scoped_allocator_adaptor::construct.Original:
For the purpose of
scoped_allocator_adaptor, if the next inner allocator is A, any class T for which std::uses_allocator<T,A>::value == true participates in the recursion as if it was a container. Additionally, std::pair is treated as such a container by specific overloads of scoped_allocator_adaptor::construct.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
典型的实现持有的
std::scoped_allocator_adaptor<InnerAllocs...>作为一个成员对象的一个实例.Original:
Typical implementation holds an instance of a
std::scoped_allocator_adaptor<InnerAllocs...> as a member object.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目录 |
[编辑] 会员类型
| 类型
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
outer_allocator_type
|
OuterAlloc |
inner_allocator_type
|
scoped_allocator_adaptor<InnerAllocs...> or, if sizeof...(InnerAllocs) == 0, scoped_allocator_adaptor<OuterAlloc> |
value_type
|
std::allocator_traits<OuterAlloc>::value_type |
size_type
|
std::allocator_traits<OuterAlloc>::size_type |
difference_type
|
std::allocator_traits<OuterAlloc>::difference_type |
pointer
|
std::allocator_traits<OuterAlloc>::pointer |
const_pointer
|
std::allocator_traits<OuterAlloc>::const_pointer |
void_pointer
|
std::allocator_traits<OuterAlloc>::void_pointer |
const_void_pointer
|
std::allocator_traits<OuterAlloc>::const_void_pointer |
propagate_on_container_copy_assignment
| |
propagate_on_container_move_assignment
| |
propagate_on_container_swap
| |
rebind
| |
[编辑] 成员函数
| 创建一个新的scoped_allocator_adaptor实例 Original: creates a new scoped_allocator_adaptor instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 解构一个scoped_allocator_adaptor实例 Original: destructs a scoped_allocator_adaptor instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 获得 inner_allocator参考Original: obtains an inner_allocator referenceThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 获得 outer_allocator参考Original: obtains an outer_allocator referenceThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 分配未初始化的存储,使用外部的分配器 Original: allocates uninitialized storage using the outer allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 分配使用外部分配器的存储 Original: allocates storage using the outer allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| returns the largest allocation size supported by the outer allocator (公共成员函数) | |
| 构造一个对象分配的存储,传递给它的构造函数(如适用)内的分配器 Original: constructs an object in allocated storage, passing the inner allocator to its constructor if appropriate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 分配的存储desrtucts对象 Original: desrtucts an object in allocated storage The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
| 的状态复制的scoped_allocator_adaptor和所有的分配器 Original: copies the state of scoped_allocator_adaptor and all its allocators The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
[编辑] 非成员函数
| 比较两个scoped_allocator_adaptor情况 Original: compares two scoped_allocator_adaptor instances The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |
[编辑] 另请参阅
| (C++11) |
提供分配器类型的信息 Original: provides information about allocator types The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (类模板) |
| (C++11) |
检查如果指定的类型支持使用分配器建设的 Original: checks if the specified type supports uses-allocator construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (类模板) |
| the default allocator (类模板) | |