freelist-Klasse
Verwaltet eine Liste von Speicherblöcken.
Syntax
template <std::size_t Sz, class Max>
class freelist : public Max
Parameter
Sz
Die Anzahl der zuzuweisenden Elemente im Array
Max
Die max-Klasse, die die maximale Anzahl von Elementen darstellt, die in der freien Liste gespeichert werden. Die Klasse kann max_none, max_unbounded, max_fixed_size oder max_variable_size sein.
Hinweise
Diese Klassenvorlage verwaltet eine Liste der Speicherblöcke der Größe Sz mit der maximalen Länge der Liste, die durch die max. Klasse übergeben wird.
Konstruktoren
Konstruktor | Beschreibung |
---|---|
freelist | Konstruiert ein Objekt vom Typ freelist . |
Memberfunktionen
Memberfunktion | Beschreibung |
---|---|
pop | Entfernt den ersten Speicherblock aus der freien Liste |
push | Fügt der Liste einen Speicherblock hinzu |
Anforderungen
Header:<allocators>
Namespace: stdext
freelist::freelist
Konstruiert ein Objekt vom Typ freelist
.
freelist();
Hinweise
freelist::p op
Entfernt den ersten Speicherblock aus der freien Liste
void *pop();
Rückgabewert
Gibt einen Zeiger auf den Speicherblock zurück, der aus der Liste entfernt wurde
Hinweise
Die Memberfunktion gibt NULL zurück, wenn die Liste leer ist. Andernfalls entfernt sie den ersten Speicherblock aus der Liste.
freelist::p ush
Fügt der Liste einen Speicherblock hinzu
bool push(void* ptr);
Parameter
ptr
Ein Zeiger auf den Speicherblock, der der freien Liste hinzugefügt werden soll
Rückgabewert
true
, wenn die Funktion full
der max-Klasse false
zurückgibt. Andernfalls gibt die Funktion push
false
zurück.
Hinweise
Wenn die full
Funktion der max. Klasse zurückgegeben wirdfalse
, fügt diese Memberfunktion den Speicherblock, auf den ptr verweist, zum Kopf der Liste hinzu.