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.