Espacios de nombres
Variantes
Acciones

std::pmr::polymorphic_allocator

De cppreference.com
< cpp‎ | memory
 
 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
pmr::polymorphic_allocator
(C++17)
Recursos de memoria
Almacenamiento no inicializado
Algoritmos de memoria no inicializada
Algoritmos restringidos de memoria no inicializada
Apoyo para recolección de basura
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
Misceláneos
(C++20)
(C++11)
(C++11)
 
 
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) [editar]
(destructor)
(implícitamente declarado)
Destructor implícitamente declarado.
(función miembro pública) [editar]
operator=
[eliminada]
El operador de asignación de copia está eliminado.
(función miembro pública) [editar]
Funciones miembro públicas
Asigna memoria.
(función miembro pública) [editar]
Libera memoria.
(función miembro pública) [editar]
Construye un objeto en el almacenamiento asignado.
(función miembro pública) [editar]
(en desuso en C++20)
Destruye un objeto en el almacenamiento asignado.
(función miembro pública) [editar]
Asigna memoria sin formato alineada del recurso subyacente.
(función miembro pública) [editar]
Libera memoria sin formato obtenida mediante allocate_bytes.
(función miembro pública) [editar]
Asigna memoria sin formato adecuada para un objeto o un array.
(función miembro pública) [editar]
Libera memoria sin formato obtenida mediante allocate_object.
(función miembro pública) [editar]
Asigna memoria y construye un objeto.
(función miembro pública) [editar]
Destruye y desasigna un objeto.
(función miembro pública) [editar]
Crea un asignador polimórfico polymorphic_allocator para uso por el constructor de copia de un contenedor.
(función miembro pública) [editar]
Devuelve un puntero al recurso de memoria subyacente.
(función miembro pública) [editar]

[editar] Funciones no miembro

(eliminado en C++20)
Compara dos asignadores polimórficos polymorphic_allocator.
(función) [editar]

[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

Una interfaz abstracta para clases que encapsulan recursos de memoria.
(clase) [editar]