Udostępnij za pośrednictwem


cache_chunklist — Klasa

Definiuje alokator bloków, który przydziela i cofa przydział bloków pamięci o pojedynczym rozmiarze.

Składnia

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

Parametry

Sz
Liczba elementów w tablicy do przydzielenia.

Uwagi

Ten szablon klasy używa operatora nowego do przydzielania fragmentów nieprzetworzonej pamięci, bloków przydziału podrzędnego w celu przydzielenia magazynu dla bloku pamięci w razie potrzeby; przechowuje cofniętą przydział bloków pamięci na oddzielnej liście wolnej dla każdego fragmentu i używa operatora delete , aby cofnąć przydział fragmentu, gdy żaden z bloków pamięci nie jest używany.

Każdy blok pamięci zawiera bajty pamięci do użycia i wskaźnik do fragmentu, do którego należy. Każdy fragment zawiera Nelts bloki pamięci, trzy wskaźniki, int i dane, które operator new i operator delete wymagają.

Konstruktory

Konstruktor opis
cache_chunklist Tworzy obiekt typu cache_chunklist.

Funkcje składowe

Funkcja składowa opis
allocate Przydziela blok pamięci.
Deallocate Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

cache_chunklist::przydziel

Przydziela blok pamięci.

void *allocate(std::size_t count);

Parametry

count
Liczba elementów w tablicy do przydzielenia.

Wartość zwracana

Wskaźnik do przydzielonego obiektu.

Uwagi

cache_chunklist::cache_chunklist

Tworzy obiekt typu cache_chunklist.

cache_chunklist();

Uwagi

cache_chunklist::d eallocate

Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

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

Parametry

ptr
Wskaźnik do pierwszego obiektu, który ma zostać cofnięty z magazynu.

count
Liczba obiektów do cofnięcia przydziału z magazynu.

Uwagi

Zobacz też

<Allocators>