freelist – třída
Spravuje seznam paměťových bloků.
Syntaxe
template <std::size_t Sz, class Max>
class freelist : public Max
Parametry
Sz
Počet prvků v poli, které se mají přidělit.
Max
Maximální třída představující maximální počet prvků, které mají být uloženy v seznamu free. Maximální třída může být max_none, max_unbounded, max_fixed_size nebo max_variable_size.
Poznámky
Tato šablona třídy spravuje seznam bloků paměti velikosti Sz s maximální délkou seznamu určenou maximální třídou předanou v max.
Konstruktory
Konstruktor | Popis |
---|---|
freelist | Vytvoří objekt typu freelist . |
Členské funkce
Členová funkce | Popis |
---|---|
bouchnout | Odebere první blok paměti z bezplatného seznamu. |
push | Přidá do seznamu blok paměti. |
Požadavky
Záhlaví:<alokátory>
Namespace: stdext
freelist::freelist
Vytvoří objekt typu freelist
.
freelist();
Poznámky
freelist::p op
Odebere první blok paměti z bezplatného seznamu.
void *pop();
Návratová hodnota
Vrátí ukazatel na blok paměti odebraný ze seznamu.
Poznámky
Členová funkce vrátí hodnotu NULL, pokud je seznam prázdný. Jinak odebere první blok paměti ze seznamu.
freelist::p ush
Přidá do seznamu blok paměti.
bool push(void* ptr);
Parametry
ptr
Ukazatel na blok paměti, který se má přidat do bezplatného seznamu.
Návratová hodnota
true
full
pokud funkce maximální třídy vrátí false
; v opačném případě push
vrátí false
funkce .
Poznámky
full
Pokud funkce maximální třídy vrátí false
, tato členová funkce přidá blok paměti, na který odkazuje ptr do hlavy seznamu.