Freigeben über


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 pushfalse 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.

Siehe auch

<allocators>