Compartir a través de


max_variable_size (Clase)

Describe un objeto de clase máxima que limita un objeto freelist a una longitud máxima que es aproximadamente proporcional al número de bloques de memoria asignada.

Sintaxis

class max_variable_size

Constructores

Constructor Descripción
max_variable_size Construye un objeto de tipo max_variable_size.

Funciones miembro

Función de miembro Descripción
allocated Aumenta el número de bloques de memoria asignada.
deallocated Reduce el número de bloques de memoria asignada.
full Devuelve un valor que especifica si se deben agregar más bloques de memoria a la lista libre.
released Reduce el número de bloques de memoria de la lista libre.
saved Aumenta el número de bloques de memoria de la lista libre.

Requisitos

Encabezado:<allocators>

Espacio de nombres: stdext

max_variable_size::allocated

Aumenta el número de bloques de memoria asignada.

void allocated(std::size_t _Nx = 1);

Parámetros

_Nx
Valor de incremento.

Comentarios

Esta función miembro agrega _Nx al valor almacenado _Nallocs. Se llama a esta función miembro después de cada vez que cache_freelist::allocate realiza una llamada correcta al operador new. El argumento _Nx es el número de bloques de memoria del fragmento asignado por el operador new.

max_variable_size::d elocated

Reduce el número de bloques de memoria asignada.

void deallocated(std::size_t _Nx = 1);

Parámetros

_Nx
Valor de incremento.

Comentarios

La función miembro resta _Nx del valor almacenado _Nallocs. Se llama a esta función miembro después de cada vez que cache_freelist::deallocate realiza una llamada al operador delete. El argumento _Nx es el número de bloques de memoria del fragmento desasignado por el operador delete.

max_variable_size::full

Devuelve un valor que especifica si se deben agregar más bloques de memoria a la lista libre.

bool full();

Valor devuelto

true si _Nallocs / 16 + 16 <= _Nblocks.

Comentarios

Se llama a esta función miembro mediante cache_freelist::deallocate. Si la llamada devuelve true, deallocate coloca el bloque de memoria en la lista libre. Si devuelve False, deallocate llama al operador delete para que desasigne el bloque.

max_variable_size::max_variable_size

Construye un objeto de tipo max_variable_size.

max_variable_size();

Comentarios

El constructor inicializa los valores almacenados _Nblocks y _Nallocs en cero.

max_variable_size::released

Reduce el número de bloques de memoria de la lista libre.

void released();

Comentarios

Esta función miembro reduce el valor almacenado _Nblocks. La función miembro released de la clase máxima actual se llama mediante cache_freelist::allocate cada vez que quita un bloque de memoria de la lista libre.

max_variable_size::saved

Aumenta el número de bloques de memoria de la lista libre.

void saved();

Comentarios

Esta función miembro aumenta el valor almacenado _Nblocks. Esta función miembro se llama mediante cache_freelist::deallocate cada vez que coloca un bloque de memoria en la lista libre.

Consulte también

<allocators>