Compartir a través de


freelist (Clase)

Administra una lista de bloques de memoria.

Sintaxis

template <std::size_t Sz, class Max>
class freelist : public Max

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 número máximo de elementos que se van a almacenar en la lista libre. La clase máxima puede ser max_none, max_unbounded, max_fixed_size o max_variable_size.

Comentarios

Esta plantilla de clase administra una lista de bloques de memoria de tamaño Sz con la longitud máxima de la lista determinada por la clase máxima pasada en Max.

Constructores

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

Funciones miembro

Función de miembro Descripción
pop Quita el primer bloque de memoria de la lista libre.
push Agrega un bloque de memoria a la lista.

Requisitos

Encabezado:<allocators>

Espacio de nombres: stdext

freelist::freelist

Construye un objeto de tipo freelist.

freelist();

Comentarios

freelist::p op

Quita el primer bloque de memoria de la lista libre.

void *pop();

Valor devuelto

Devuelve un puntero al bloque de memoria que se ha quitado de la lista.

Comentarios

La función miembro devuelve NULL si la lista está vacía. En caso contrario, quita el primer bloque de memoria de la lista.

freelist::p ush

Agrega un bloque de memoria a la lista.

bool push(void* ptr);

Parámetros

ptr
Un puntero al bloque de memoria que se va a agregar a la lista libre.

Valor devuelto

true si la función full de la clase máxima devuelve false; en caso contrario, la función push devuelve false.

Comentarios

Si la función full de la clase máxima devuelve false, esta función miembro agrega el bloque de memoria al que apunta ptr en el encabezado de la lista.

Consulte también

<allocators>