std::scoped_allocator_adaptor

来自cppreference.com

 
 
动态内存管理
低级别的内存管理
分配器
Original:
Allocators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
未初始化的存储空间
Original:
Uninitialized storage
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
智能指针
Original:
Smart pointers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(过时了)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
垃圾收集的支持
Original:
Garbage collection support
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
杂项
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pointer_traits(C++11)
addressof(C++11)
align(C++11)
C库
Original:
C Library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
std::scoped_allocator_adaptor
成员函数
Original:
Member functions
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::scoped_allocator_adaptor
scoped_allocator_adaptor::~scoped_allocator_adaptor
scoped_allocator_adaptor::inner_allocator
scoped_allocator_adaptor::outer_allocator
scoped_allocator_adaptor::allocate
scoped_allocator_adaptor::deallocate
scoped_allocator_adaptor::max_size
scoped_allocator_adaptor::construct
scoped_allocator_adaptor::destroy
scoped_allocator_adaptor::select_on_container_copy_construction
非成员函数
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
operator==
operator!=
 
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.
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.
典型的实现持有的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.

目录

[编辑] 会员类型

类型
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
std::true_type if std::allocator_traits<A>::propagate_on_container_copy_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_move_assignment
std::true_type if std::allocator_traits<A>::propagate_on_container_move_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_swap
std::true_type if std::allocator_traits<A>::propagate_on_container_swap::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
rebind
template< class T >
struct rebind {
    typedef scoped_allocator_adaptor<
        std::allocator_traits<OuterAlloc>::template rebind_alloc<T>, 
        InnerAllocs...
    > other;
};

[编辑] 成员函数

创建一个新的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.

(公共成员函数) [edit]
解构一个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.

(公共成员函数) [edit]
获得inner_allocator参考
Original:
obtains an inner_allocator reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(公共成员函数) [edit]
获得outer_allocator参考
Original:
obtains an outer_allocator reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(公共成员函数) [edit]
分配未初始化的存储,使用外部的分配器
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.

(公共成员函数) [edit]
分配使用外部分配器的存储
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.

(公共成员函数) [edit]
returns the largest allocation size supported by the outer allocator
(公共成员函数) [edit]
构造一个对象分配的存储,传递给它的构造函数(如适用)内的分配器
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.

(公共成员函数) [edit]
分配的存储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.

(公共成员函数) [edit]
的状态复制的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.

(公共成员函数) [edit]

[编辑] 非成员函数

比较两个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.

(公共成员函数) [edit]

[编辑] 另请参阅

提供分配器类型的信息
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.

(类模板) [edit]
(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.

(类模板) [edit]
the default allocator
(类模板) [edit]