Namespaces
Variants

std:: allocation_result

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Definido en el encabezado <memory>
template < class Pointer, class SizeType = std:: size_t >
struct allocation_result ;
(desde C++23)

allocation_result especializaciones son devueltas por la función miembro allocate_at_least de los tipos Allocator apropiados (por ejemplo, std::allocator::allocate_at_least ) y std::allocator_traits::allocate_at_least .

Toda especialización de allocation_result no tiene clases base ni miembros declarados aparte de ptr y count , por lo tanto es adecuada para inicialización por agregado y enlace estructurado .

Contenidos

Parámetros de plantilla

Pointer - típicamente std:: allocator_traits < Alloc > :: pointer , donde Alloc es un tipo Allocator
SizeType - típicamente std:: allocator_traits < Alloc > :: size_type , donde Alloc es un tipo Allocator

Miembros de datos

Nombre del miembro Definición
ptr
un puntero de tipo Pointer que normalmente se utiliza para la dirección del primer elemento en el almacenamiento asignado por allocate_at_least
(objeto miembro público)
count
un valor de tipo SizeType que normalmente se utiliza para el número real de elementos en el almacenamiento asignado por allocate_at_least
(objeto miembro público)

Notas

Pointer y SizeType son un puntero a un tipo de objeto y std:: make_unsigned_t < std:: ptrdiff_t > (que casi siempre es igual a std::size_t ) por defecto.

Macro de prueba de características Valor Estándar Característica
__cpp_lib_allocate_at_least 202302L (C++23) Retroalimentación de tamaño en la interfaz del Asignador

Ejemplo

Véase también

asigna almacenamiento no inicializado al menos tan grande como el tamaño solicitado
(función miembro pública de std::allocator<T> )
[static] (C++23)
asigna almacenamiento al menos tan grande como el tamaño solicitado mediante un asignador
(función miembro estática pública de std::allocator_traits<Alloc> )