Freigeben über


max_variable_size-Klasse

Beschreibt ein Objekt der max-Klasse, das die maximale Länge eines freelist-Objekts auf eine maximale Länge einschränkt, die annähernd proportional zur Anzahl von zugewiesenen Speicherblöcken ist.

Syntax

class max_variable_size

Konstruktoren

Konstruktor Beschreibung
max_variable_size Konstruiert ein Objekt vom Typ max_variable_size.

Memberfunktionen

Memberfunktion Beschreibung
allocated Erhöht die Anzahl der zugeordneten Speicherblöcke.
deallocated Verringert die Anzahl der zugeordneten Speicherblöcke.
full Gibt einen Wert zurück, der angibt, ob zur Freiliste weitere Speicherblöcke hinzugefügt werden sollen.
released Verringert die Anzahl der Speicherblöcke auf der Freiliste.
saved Erhöht die Anzahl der Speicherblöcke auf der Freiliste.

Anforderungen

Header:<allocators>

Namespace: stdext

max_variable_size::zugeordnet

Erhöht die Anzahl der zugeordneten Speicherblöcke.

void allocated(std::size_t _Nx = 1);

Parameter

_Nx
Der Inkrementwert

Hinweise

Diese Memberfunktion fügt dem gespeicherten Wert _Nallocs_Nx hinzu. Diese Memberfunktion wird nach jedem erfolgreichen Aufruf von cache_freelist::allocate auf Operator new aufgerufen. Das Argument _Nx ist die Anzahl der Speicherblöcke im vom Operator newzugewiesenen Block.

max_variable_size::d eallocated

Verringert die Anzahl der zugeordneten Speicherblöcke.

void deallocated(std::size_t _Nx = 1);

Parameter

_Nx
Der Inkrementwert

Hinweise

Die Memberfunktion subtrahiert _Nx vom gespeicherten Wert _Nallocs. Diese Memberfunktion wird nach jedem Aufruf von cache_freelist::deallocate auf Operator delete aufgerufen. Das Argument _Nx ist die Anzahl der Speicherblöcke im Block, der vom Operator deleteabgeglichen wird.

max_variable_size::full

Gibt einen Wert zurück, der angibt, ob zur Freiliste weitere Speicherblöcke hinzugefügt werden sollen.

bool full();

Rückgabewert

true wenn _Nallocs / 16 + 16 <= _Nblocks.

Hinweise

Diese Memberfunktion wird von cache_freelist::deallocate aufgerufen. Wenn der Aufruf true zurückgibt, setzt deallocate den Speicherblock auf die Freiliste. Wenn FALSE zurückgegeben wird, ruft deallocate den Operator delete auf, um die Zuordnung für den Block aufzuheben.

max_variable_size::max_variable_size

Konstruiert ein Objekt vom Typ max_variable_size.

max_variable_size();

Hinweise

Dieser Konstruktor initialisiert die gespeicherten Werte _Nblocks und _Nallocs auf null.

max_variable_size::released

Verringert die Anzahl der Speicherblöcke auf der Freiliste.

void released();

Hinweise

Diese Memberfunktion verringert den gespeicherten _Nblocks-Wert. Die released-Memberfunktion der aktuellen max-Klasse wird von cache_freelist::allocate aufgerufen, wenn ein Speicherblock aus der Freiliste entfernt wird.

max_variable_size::saved

Erhöht die Anzahl der Speicherblöcke auf der Freiliste.

void saved();

Hinweise

Diese Memberfunktion inkrementiert den gespeicherten _Nblocks-Wert. Diese Memberfunktion wird durch cache_freelist::deallocate aufgerufen, wann immer ein Speicherblock der Freiliste hinzugefügt wird.

Siehe auch

<allocators>