Espacios de nombres
Variantes

std::pmr::polymorphic_allocator

De cppreference.com
 
 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
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)
 
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
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.

Tipos miembro

Tipo miembro Definición
value_type T

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]

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.

Véase también

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