Espacios de nombres
Variantes
Acciones

std::pmr::monotonic_buffer_resource::do_allocate

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)
 
 
virtual void* do_allocate(std::size_t bytes, std::size_t alignment);
(desde C++17)

Asigna almacenamiento.

Si el búfer actual tiene suficiente espacio sin usar para que quepa un bloque con el tamaño y la alineación especificados, asigna el bloque de retorno del búfer actual.

De lo contrario, esta función asigna un nuevo búfer llamando a upstream_resource()->allocate(n, m), donde n no es menor que el mayor de bytes y el tamaño del búfer siguiente y m no es menor que alignment. Establece el nuevo búfer como el búfer actual, aumenta el tamaño del búfer siguiente por un factor de crecimiento definido por la implementación (que no es necesariamente un entero), y luego asigna el bloque de retorno del búfer recién asignado.

[editar] Valor de retorno

Un puntero al almacenamiento asignado de al menos bytes bytes de tamaño, alineado con el alignment especificado si dicha alineación es compatible, y con alignof(std::max_align_t) de lo contrario.

[editar] Excepciones

No lanza nada a menos que se llame a allocate() sobre el recurso de memoria río arriba.

[editar] Véase también

Asigna memoria.
(función miembro pública de std::pmr::memory_resource) [editar]
[virtual]
Asigna memoria.
(función miembro virtual privada de std::pmr::memory_resource) [editar]