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.