Compartir a través de


cache_suballoc (Clase)

Define un asignador de bloques que asigna y desasigna bloques de memoria de un tamaño único.

Sintaxis

template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc

Parámetros

Sz
El número de elementos de la matriz que se van a asignar.

Comentarios

La plantilla de clase cache_suballoc almacena bloques de memoria desasignados en una lista libre con longitud ilimitada, mediante freelist<sizeof(Type), max_unbounded>, y subasigna bloques de memoria de un fragmento mayor asignado con el operador new cuando la lista libre está vacía.

Cada fragmento contiene bytes Sz * Nelts de memoria utilizable y los datos requeridos por el operador new y el operador delete. Nunca se liberarán los fragmentos asignados.

Constructores

Constructor Descripción
cache_suballoc Construye un objeto de tipo cache_suballoc.

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_suballoc::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_suballoc::cache_suballoc

Construye un objeto de tipo cache_suballoc.

cache_suballoc();

Comentarios

cache_suballoc::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>