cache_freelist osztály

Egy blokkelosztót határoz meg, amely egyetlen méretű memóriablokkokat foglal le és szabadít fel.

Szemantika

template <std::size_t Sz, class Max>
class cache_freelist

Paraméterek

Sz
A lefoglalni kívánt tömb elemeinek száma.

Max
Az ingyenes lista maximális méretét képviselő maximális osztály. Ez lehet max_fixed_size, max_none, max_unbounded vagy max_variable_size.

Megjegyzések

A cache_freelist osztálysablon sz méretű memóriablokkok ingyenes listáját tartalmazza. Ha az ingyenes lista megtelt, az operátor törlésével felszabadítja a memóriablokkokat. Ha az ingyenes lista üres, új operátort használ az új memóriablokkok lefoglalásához. Az ingyenes lista maximális méretét a Maximális paraméterben átadott osztály maximális osztálya határozza meg.

Minden memóriablokk sz bájtnyi használható memóriát tartalmaz, és az új és operátortörlésioperátorok által igényelt adatok.

Konstruktorok

Konstruktor Leírás
cache_freelist Egy típusú cache_freelistobjektumot hoz létre.

Tagfüggvények

Tagfüggvény Leírás
lefoglal Memóriablokkot foglal le.
felszabadítás Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.

Követelmények

Fejléc:<kiosztók>

Névtér: stdext

cache_freelist::lefoglalás

Memóriablokkot foglal le.

void *allocate(std::size_t count);

Paraméterek

gróf
A lefoglalni kívánt tömb elemeinek száma.

Visszaadott érték

Mutató a lefoglalt objektumra.

cache_freelist::cache_freelist

Egy típusú cache_freelistobjektumot hoz létre.

cache_freelist();

cache_freelist::d eallocate

Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.

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

Paraméterek

ptr
Mutató az első tárolóból felszabadítandó objektumra.

gróf
A tárolóból felszabadítandó objektumok száma.

Lásd még

<kiosztók>