Sdílet prostřednictvím


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

truefull pokud funkce maximální třídy vrátí false; v opačném případě push vrátí falsefunkce .

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.

Viz také

<alokátory>