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 new
zugewiesenen 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 delete
abgeglichen 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.