Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Beschreibt ein Objekt der max-Klasse, das ein freelist-Objekt auf eine maximale Länge begrenzt.
Syntax
template <std::size_t Max>
class max_fixed_size
Parameter
Max
Die max-Klasse, die die maximale Anzahl von Elementen zum Speichern in der freelist bestimmt.
Konstruktoren
| Konstruktor | Beschreibung |
|---|---|
| max_fixed_size | Konstruiert ein Objekt vom Typ max_fixed_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_fixed_size::allocated
Erhöht die Anzahl der zugeordneten Speicherblöcke.
void allocated(std::size_t _Nx = 1);
Parameter
_Nx
Der Inkrementwert
Hinweise
Die Memberfunktion bleibt untätig. 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_fixed_size::d eallocated
Verringert die Anzahl der zugeordneten Speicherblöcke.
void deallocated(std::size_t _Nx = 1);
Parameter
_Nx
Der Inkrementwert
Hinweise
Die Memberfunktion bleibt untätig. 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_fixed_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 Max <= _Nblocks; andernfalls false.
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_fixed_size::max_fixed_size
Konstruiert ein Objekt vom Typ max_fixed_size.
max_fixed_size();
Hinweise
Dieser Konstruktor initialisiert den gespeicherten Wert _Nblocks auf null.
max_fixed_size::released
Verringert die Anzahl der Speicherblöcke auf der Freiliste.
void released();
Hinweise
Verringert den gespeicherten Wert _Nblocks. Die released-Memberfunktion der aktuellen max-Klasse wird von cache_freelist::allocate aufgerufen, wenn ein Speicherblock aus der Freiliste entfernt wird.
max_fixed_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.