Namespaces
Variants

std::experimental::pmr::monotonic_buffer_resource:: do_allocate

From cppreference.net
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ;
(biblioteca fundamentals TS)

Asigna almacenamiento.

Si el buffer actual tiene suficiente espacio sin utilizar para albergar un bloque con el tamaño y alineación especificados, asigna el bloque de retorno desde el buffer 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 entre bytes y el tamaño del siguiente búfer y m no es menor que alignment . Establece el nuevo búfer como el búfer actual , incrementa el tamaño del siguiente búfer por un factor de crecimiento definido por la implementación (que no es necesariamente integral), y luego asigna el bloque de retorno desde el búfer recién asignado.

Valor de retorno

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

Excepciones

No lanza nada a menos que la llamada a allocate() en el recurso de memoria ascendente lance una excepción.

Véase también

asigna memoria
(función miembro pública de std::experimental::pmr::memory_resource )
[virtual]
asigna memoria
(función miembro protegida virtual de std::experimental::pmr::memory_resource )