cache_chunklist (Clase)
Define un asignador de bloques que asigna y desasigna bloques de memoria de un tamaño único.
Sintaxis
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
Parámetros
Sz
El número de elementos de la matriz que se van a asignar.
Comentarios
Esta plantilla de clase usa el operador new para asignar fragmentos de memoria binaria, subasignando bloques para asignar almacenamiento para un bloque de memoria cuando sea necesario; almacena bloques de memoria desasignados en una lista libre independiente para cada fragmento y usa el operador delete para desasignar un fragmento cuando ninguno de los bloques de memoria está en uso.
Cada bloque de memoria contiene Sz bytes de memoria utilizable y un puntero al fragmento al que pertenece. Cada fragmento contiene Nelts
bloques de memoria, tres punteros, un int y los datos que requieren el operador new y el operador delete.
Constructores
Constructor | Descripción |
---|---|
cache_chunklist | Construye un objeto de tipo cache_chunklist . |
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_chunklist::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_chunklist::cache_chunklist
Construye un objeto de tipo cache_chunklist
.
cache_chunklist();
Comentarios
cache_chunklist::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.