Sdílet prostřednictvím


cache_suballoc – třída

Definuje blokový alokátor , který přiděluje a uvolní bloky paměti jedné velikosti.

Syntaxe

template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc

Parametry

Sz
Počet prvků v poli, které se mají přidělit.

Poznámky

Šablona třídy cache_suballoc ukládá uvolněné paměťové bloky do bezplatného seznamu s nevázanou délkou pomocí freelist<sizeof(Type), max_unbounded>a suballokuje bloky paměti z většího bloku přiděleného operátorem new , pokud je seznam volných položek prázdný.

Každý blok dat obsahuje Sz * Nelts využitelné bajty paměti a data, která operátor nový operátor a operátor odstraní , vyžadují odstranění. Přidělené bloky dat nejsou nikdy uvolněny.

Konstruktory

Konstruktor Popis
cache_suballoc Vytvoří objekt typu cache_suballoc.

Členské funkce

Členová funkce Popis
allocate Přidělí blok paměti.
uvolnit Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

Požadavky

Záhlaví:<alokátory>

Namespace: stdext

cache_suballoc::přidělení

Přidělí blok paměti.

void *allocate(std::size_t count);

Parametry

count
Počet prvků v poli, které se mají přidělit.

Návratová hodnota

Ukazatel na přidělený objekt.

Poznámky

cache_suballoc::cache_suballoc

Vytvoří objekt typu cache_suballoc.

cache_suballoc();

Poznámky

cache_suballoc::d eallocate

Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

void deallocate(void* ptr, std::size_t count);

Parametry

ptr
Ukazatel na první objekt, který se má uvolnit z úložiště.

count
Počet objektů, které se mají uvolnit z úložiště.

Poznámky

Viz také

<alokátory>