std::pmr::polymorphic_allocator
Definido en el archivo de encabezado <memory_resource>
|
||
template< class T > class polymorphic_allocator; |
(desde C++17) (hasta C++20) |
|
template< class T = std::byte > class polymorphic_allocator; |
(desde C++20) | |
La plantilla de clase std::pmr::polymorphic_allocator
es un asignador de memoria, Allocator, que exhibe un comportamiento de asignación diferente dependiendo del recurso de memoria, std::pmr::memory_resource, del que esta construido. Dado que memory_resource
usa polimorfismo en tiempo de ejecución para gestionar asignaciones, diferentes instancias del contenedor con polymorphic_allocator
como su tipo de asignador estático son interoperables, pero pueden comportarse como si tuvieran diferentes tipos de asignador.
Todas las especializaciones de polymorphic_allocator
cumplen con los requerimientos de completitud del asignador.
Contenido |
[editar] Tipos miembro
Tipo miembro | Definición |
value_type
|
T
|
[editar] Funciones miembro
Construye un asignador de memoria polimórfico polymorphic_allocator . (función miembro pública) | |
(destructor) (implícitamente declarado) |
Destructor implícitamente declarado. (función miembro pública) |
operator= [eliminada] |
El operador de asignación de copia está eliminado. (función miembro pública) |
Funciones miembro públicas | |
Asigna memoria. (función miembro pública) | |
Libera memoria. (función miembro pública) | |
Construye un objeto en el almacenamiento asignado. (función miembro pública) | |
(en desuso en C++20) |
Destruye un objeto en el almacenamiento asignado. (función miembro pública) |
(C++20) |
Asigna memoria sin formato alineada del recurso subyacente. (función miembro pública) |
(C++20) |
Libera memoria sin formato obtenida mediante allocate_bytes . (función miembro pública) |
(C++20) |
Asigna memoria sin formato adecuada para un objeto o un array. (función miembro pública) |
(C++20) |
Libera memoria sin formato obtenida mediante allocate_object . (función miembro pública) |
(C++20) |
Asigna memoria y construye un objeto. (función miembro pública) |
(C++20) |
Destruye y desasigna un objeto. (función miembro pública) |
Crea un asignador polimórfico polymorphic_allocator para uso por el constructor de copia de un contenedor. (función miembro pública) | |
Devuelve un puntero al recurso de memoria subyacente. (función miembro pública) |
[editar] Funciones no miembro
(eliminado en C++20) |
Compara dos asignadores polimórficos polymorphic_allocator . (función) |
[editar] Notas
Un asignador de memoria polimórfico, polymorphic_allocator
, no se propaga en la asignación de copia, asignación de movimiento o intercambio de un contenedor. Como resultado, la asignación por movimiento de un contenedor que usa un polymorphic_allocator
puede lanzar, e intercambiar dos contenedores que usan asignadores de memoria polimórficos cuyos asignadores no se comparan iguales resulta en un comportamiento no definido.
[editar] Véase también
(C++17) |
Una interfaz abstracta para clases que encapsulan recursos de memoria. (clase) |