cache_chunklist – třída
Definuje blokový alokátor , který přiděluje a uvolní bloky paměti jedné velikosti.
Syntaxe
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
Parametry
Sz
Počet prvků v poli, které se mají přidělit.
Poznámky
Tato šablona třídy používá operátor nové k přidělení bloků nezpracované paměti, přiřazení bloků k přidělení úložiště pro blok paměti v případě potřeby; ukládá uvolněné bloky paměti v samostatném bezplatném seznamu pro každý blok dat a používá operátor delete k uvolnění bloku dat, pokud se nepoužívá žádný z bloků paměti.
Každý blok paměti obsahuje využitelné bajty Sz a ukazatel na blok dat, do kterého patří. Každý blok bloků paměti obsahuje Nelts
bloky paměti, tři ukazatele, int a data, která operátor new a operátor delete vyžadují.
Konstruktory
Konstruktor | Popis |
---|---|
cache_chunklist | Vytvoří objekt typu cache_chunklist . |
Č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_chunklist::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_chunklist::cache_chunklist
Vytvoří objekt typu cache_chunklist
.
cache_chunklist();
Poznámky
cache_chunklist::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ě.