scoped_allocator_adaptor (clase)
Representa un anidado de asignadores.
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
Comentarios
La clase de plantilla encapsula un anidado de uno o más asignadores.Cada una clase tiene un asignador fuera de outer_allocator_typeescrito, un sinónimo de Outer, que es una base pública del objeto de scoped_allocator_adaptor .Outer se utiliza para asignar memoria que se usará en un contenedor.Puede obtener una referencia a este objeto del asignador llamando a outer_allocator.
El resto de anidar ha escrito inner_allocator_type.Un asignador interno se utiliza para asignar memoria para los elementos de un contenedor.Puede obtener una referencia al objeto almacenado de este tipo llamando a inner_allocator.Si Inner... no está vacío, inner_allocator_type ha escrito scoped_allocator_adaptor<Inner...>, y inner_allocator indica un objeto miembro.Si no, inner_allocator_type ha escrito scoped_allocator_adaptor<Outer>, y inner_allocator designa el objeto completo.
El nido se comporta como si tiene profundidad arbitraria, replicando el asignador encapsulado más interno según sea necesario.
Varios conceptos que no forman parte de ayuda visibles de la interfaz en la descripción del comportamiento de esta clase de plantilla.Un asignador fuera media todas las llamadas a la construcción y destruye métodos.Se define eficazmente por la función recursiva OUTERMOST(X), donde uno OUTERMOST(X) de siguiente.
Si X.outer_allocator() está bien formado, después OUTERMOST(X) es OUTERMOST(X.outer_allocator()).
De lo contrario, OUTERMOST(X) es X.
Definen a tres tipos por la exposición:
Tipo |
Descripción |
---|---|
Outermost |
Tipo de OUTERMOST(*this). |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
Constructores
Name |
Descripción |
---|---|
scoped_allocator_adaptor::scoped_allocator_adaptor (constructor) |
Crea un objeto scoped_allocator_adaptor. |
Typedefs
Name |
Descripción |
---|---|
const_pointer |
Este tipo es un sinónimo de const_pointer que se asocia el asignador Outer. |
const_void_pointer |
Este tipo es un sinónimo de const_void_pointer que se asocia el asignador Outer. |
difference_type |
Este tipo es un sinónimo de difference_type que se asocia el asignador Outer. |
inner_allocator_type |
Este tipo es un sinónimo para el tipo de adaptador anidados scoped_allocator_adaptor<Inner...>. |
outer_allocator_type |
Este tipo es un sinónimo para el tipo de asignador base Outer. |
pointer |
Este tipo es un sinónimo de pointer asociado al asignador Outer. |
propagate_on_container_copy_assignment |
El tipo es true solo si Outer_traits::propagate_on_container_copy_assignment es true los cumplirse o de inner_allocator_type::propagate_on_container_copy_assignment . |
propagate_on_container_move_assignment |
El tipo es true solo si Outer_traits::propagate_on_container_move_assignment es true los cumplirse o de inner_allocator_type::propagate_on_container_move_assignment . |
propagate_on_container_swap |
El tipo es true solo si Outer_traits::propagate_on_container_swap es true los cumplirse o de inner_allocator_type::propagate_on_container_swap . |
size_type |
Este tipo es un sinónimo de size_type asociado al asignador Outer. |
value_type |
Este tipo es un sinónimo de value_type asociado al asignador Outer. |
void_pointer |
Este tipo es un sinónimo de void_pointer asociado al asignador Outer. |
Structs
Name |
Descripción |
---|---|
Define el tipo Outer::rebind<Other>::other como sinónimo de scoped_allocator_adaptor<Other, Inner...>. |
Métodos
Name |
Descripción |
---|---|
Asigna memoria mediante el asignador de Outer . |
|
Construye un objeto. |
|
Desasigna objetos utilizando el asignador externo. |
|
Destruye un objeto especificado. |
|
Recupera una referencia al objeto almacenado de inner_allocator_typeescrito. |
|
Determina el número máximo de objetos que se pueden asignar mediante el asignador externo. |
|
Recupera una referencia al objeto almacenado de outer_allocator_typeescrito. |
|
scoped_allocator_adaptor::select_on_container_copy_construction (método) |
Crea un nuevo objeto de scoped_allocator_adaptor con cada asignador almacenado que el objeto inicializado llamando a select_on_container_copy_construction para cada asignador correspondiente. |
Requisitos
encabezado: <scoped_allocator>
espacio de nombres: std