cache_freelist (Clase)
Define un asignador de bloques que asigna y desasigna bloques de memoria de un tamaño único.
Sintaxis
template <std::size_t Sz, class Max>
class cache_freelist
Parámetros
Sz
El número de elementos de la matriz que se van a asignar.
Máx.
La clase máxima que representa el tamaño máximo de la lista libre. Esta puede ser max_fixed_size, max_none, max_unbounded o max_variable_size.
Comentarios
La plantilla de clase cache_freelist mantiene una lista libre de bloques de memoria de tamaño Sz. Cuando la lista libre está llena, usa el operador delete para desasignar bloques de memoria. Cuando la lista libre está vacía, usa el operador new para asignar nuevos bloques de memoria. El tamaño máximo de la lista libre viene determinado por la clase máxima que se ha pasado en el parámetro Max.
Cada bloque de memoria contiene bytes Sz de memoria utilizable y los datos requeridos por el operador new y el operador delete.
Constructores
Constructor | Descripción |
---|---|
cache_freelist | Construye un objeto de tipo cache_freelist . |
Funciones miembro
Función de miembro | Descripción |
---|---|
allocate | Asigna un bloque de memoria. |
deallocate | Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada. |
Requisitos
Encabezado:<allocators>
Espacio de nombres: stdext
cache_freelist::allocate
Asigna un bloque de memoria.
void *allocate(std::size_t count);
Parámetros
count
El número de elementos de la matriz que se van a asignar.
Valor devuelto
Un puntero al objeto asignado.
Comentarios
cache_freelist::cache_freelist
Construye un objeto de tipo cache_freelist
.
cache_freelist();
Comentarios
cache_freelist::d eallocate
Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada.
void deallocate(void* ptr, std::size_t count);
Parámetros
ptr
Un puntero al primer objeto que se va a desasignar del almacenamiento.
count
El número de objetos que se van a desasignar del almacenamiento.