Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.