Compartir vía


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.

Comentarios

Consulte también

<allocators>