max_variable_size – třída
Popisuje maximální třídu objektu, který omezuje volný seznam objektu na maximální délku, která je přibližně úměrná počtu přidělených bloků paměti.
Syntax
class max_variable_size
Konstruktory
Konstruktor | Description |
---|---|
max_variable_size | Vytvoří objekt typu max_variable_size . |
Členské funkce
Členské funkce | Description |
---|---|
Přidělené | Zvýší počet přidělených paměťových bloků. |
Navrácen | Sníží počet přidělených paměťových bloků. |
Plné | Vrátí hodnotu, která určuje, zda mají být do seznamu volných bloků přidány další paměťové bloky. |
Vydané | Sníží počet bloků paměti na seznamu volných položek. |
Uloženy | Zvýší počet bloků paměti v seznamu volných položek. |
Požadavky
Záhlaví:< alokátory>
Obor názvů: stdext
max_variable_size::přiděleno
Zvýší počet přidělených paměťových bloků.
void allocated(std::size_t _Nx = 1);
Parametry
_Nx
Hodnota přírůstku.
Poznámky
Tato členské funkce přidá _Nx k uložené hodnotě _Nallocs
. Tato členová funkce je volána po každém úspěšném volání operátorem cache_freelist::allocate
new
. Argument _Nx je počet bloků paměti v bloku přiděleném operátorem new
.
max_variable_size::d přidělováno
Sníží počet přidělených paměťových bloků.
void deallocated(std::size_t _Nx = 1);
Parametry
_Nx
Hodnota přírůstku.
Poznámky
Členské funkce odečte _Nx od uložené hodnoty _Nallocs
. Tato členná funkce je volána po každém volání operátorem cache_freelist::deallocate
delete
. Argument _Nx je počet bloků paměti v bloku uvolněných operátorem delete
.
max_variable_size::full
Vrátí hodnotu, která určuje, zda mají být do seznamu volných bloků přidány další paměťové bloky.
bool full();
Návratová hodnota
true
pokud _Nallocs / 16 + 16 <= _Nblocks
.
Poznámky
Tato členná funkce je volána pomocí cache_freelist::deallocate
. Pokud volání vrátí true
, deallocate
umístí blok paměti do seznamu volných položek. Pokud vrátí hodnotu false, deallocate
zavolá operátor delete
pro uvolnění bloku.
max_variable_size::max_variable_size
Vytvoří objekt typu max_variable_size
.
max_variable_size();
Poznámky
Konstruktor inicializuje uložené hodnoty _Nblocks
a _Nallocs
na nulu.
max_variable_size::vydané
Sníží počet bloků paměti na seznamu volných položek.
void released();
Poznámky
Tato členná funkce sníží uloženou hodnotu _Nblocks
. Členová released
funkce aktuální třídy max je volána vždy cache_freelist::allocate
, když odebere blok paměti ze seznamu volných položek.
max_variable_size::saved
Zvýší počet bloků paměti v seznamu volných položek.
void saved();
Poznámky
Tato členová funkce zvýší uloženou hodnotu _Nblocks
. Tato členová funkce je volána pokaždé cache_freelist::deallocate
, když umístí blok paměti na seznam volných položek.