Freigeben über


cache_freelist-Klasse

Definiert eine Blockzuweisung, die Speicherblöcke einheitlicher Größe zuweist und freigibt.

Syntax

template <std::size_t Sz, class Max>
class cache_freelist

Parameter

Sz
Die Anzahl der zuzuweisenden Elemente im Array

Max
Die max-Klasse, die die maximale Größe der Freiliste angibt. Dies kann max_fixed_size, max_none, max_unbounded oder max_variable_size sein.

Hinweise

Die cache_freelist Klassenvorlage verwaltet eine kostenlose Liste der Speicherblöcke der Größe Sz. Wenn die kostenlose Liste voll ist, verwendet sie die Operatorlöschung , um Speicherblöcke zu behandeln. Wenn die kostenlose Liste leer ist, wird der Operator neu verwendet, um neue Speicherblöcke zuzuweisen. Die maximale Größe der kostenlosen Liste wird durch die klasse max klasse bestimmt, die im Parameter Max übergeben wird.

Jeder Speicherblock enthält Sz Bytes des verwendbaren Speichers, und die Daten, die der Operator löschen muss, sind erforderlich.

Konstruktoren

Konstruktor Beschreibung
cache_freelist Konstruiert ein Objekt vom Typ cache_freelist.

Memberfunktionen

Memberfunktion Beschreibung
allocate Belegt einen Speicherblock.
deallocate Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position.

Anforderungen

Header:<allocators>

Namespace: stdext

cache_freelist::zuweisung

Belegt einen Speicherblock.

void *allocate(std::size_t count);

Parameter

count
Die Anzahl der zuzuweisenden Elemente im Array

Rückgabewert

Zeiger auf das zugewiesene Objekt.

Hinweise

cache_freelist::cache_freelist

Konstruiert ein Objekt vom Typ cache_freelist.

cache_freelist();

Hinweise

cache_freelist::d eallocate

Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position.

void deallocate(void* ptr, std::size_t count);

Parameter

ptr
Ein Zeiger auf das erste Objekt, dessen Zuweisung zum Speicher aufgehoben werden soll.

count
Die Anzahl von Objekten, deren Zuweisung zum Speicherplatz aufgehoben werden soll.

Hinweise

Siehe auch

<allocators>