max_variable_size – třída
Popisuje objekt maximální třídy , který omezuje volný seznam objektu na maximální délku, která je zhruba úměrná počtu přidělených bloků paměti.
Syntaxe
class max_variable_size
Konstruktory
Konstruktor | Popis |
---|---|
max_variable_size | Vytvoří objekt typu max_variable_size . |
Členské funkce
Členová funkce | Popis |
---|---|
přidělený | Zvýší počet přidělených bloků paměti. |
uvolnil | Sníží počet přidělených bloků paměti. |
plný | Vrátí hodnotu, která určuje, zda se má do bezplatného seznamu přidat více bloků paměti. |
uvolněný | Sníží počet bloků paměti v seznamu volných položek. |
uložený | 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 bloků paměti.
void allocated(std::size_t _Nx = 1);
Parametry
_Nx
Hodnota přírůstku.
Poznámky
Tato členová 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 paměťových bloků v bloku přiděleném operátorem new
.
max_variable_size::d alokováno
Sníží počet přidělených bloků paměti.
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 členová 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 bloků uvolněných operátorem delete
.
max_variable_size::full
Vrátí hodnotu, která určuje, zda se má do bezplatného seznamu přidat více bloků paměti.
bool full();
Návratová hodnota
true
pokud _Nallocs / 16 + 16 <= _Nblocks
.
Poznámky
Tato členová funkce je volána .cache_freelist::deallocate
Pokud volání vrátí true
, deallocate
umístí blok paměti do volného seznamu; pokud vrátí false, deallocate
zavolá operátor delete
uvolnit blok.
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::vydáno
Sníží počet bloků paměti v seznamu volných položek.
void released();
Poznámky
Tato členová funkce dekrementuje uloženou hodnotu _Nblocks
. Členová released
funkce aktuální maximální třídy je volána cache_freelist::allocate
pokaždé, když odebere blok paměti z volného seznamu.
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 cache_freelist::deallocate
pokaždé, když vloží blok paměti do bezplatného seznamu.