Udostępnij przez


max_variable_size — Klasa

Opisuje maksymalny obiekt klasy, który ogranicza obiekt freelist do maksymalnej długości, która jest w przybliżeniu proporcjonalna do liczby przydzielonych bloków pamięci.

Składnia

class max_variable_size

Konstruktory

Konstruktor opis
max_variable_size Tworzy obiekt typu max_variable_size.

Funkcje składowe

Funkcja składowa opis
Przydzielone Zwiększa liczbę przydzielonych bloków pamięci.
Dealokowane Dekrementuje liczbę przydzielonych bloków pamięci.
Pełne Zwraca wartość określającą, czy do bezpłatnej listy należy dodać więcej bloków pamięci.
Wydany Dekrementuje liczbę bloków pamięci na bezpłatnej liście.
Zapisano Zwiększa liczbę bloków pamięci na bezpłatnej liście.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

max_variable_size::przydzielone

Zwiększa liczbę przydzielonych bloków pamięci.

void allocated(std::size_t _Nx = 1);

Parametry

_Nx
Wartość przyrostu.

Uwagi

Ta funkcja składowa dodaje _Nx do przechowywanej wartości _Nallocs. Ta funkcja składowa jest wywoływana po każdym pomyślnym wywołaniu przez cache_freelist::allocate operator new. Argumentem _Nx jest liczba bloków pamięci w fragmentach przydzielonych przez operator new.

max_variable_size::d przydzielone

Dekrementuje liczbę przydzielonych bloków pamięci.

void deallocated(std::size_t _Nx = 1);

Parametry

_Nx
Wartość przyrostu.

Uwagi

Funkcja składowa odejmuje _Nx z przechowywanej wartości _Nallocs. Ta funkcja składowa jest wywoływana po każdym wywołaniu przez cache_freelist::deallocate operator delete. Argumentem _Nx jest liczba bloków pamięci w cofnięciu przydziału fragmentu przez operator delete.

max_variable_size::full

Zwraca wartość określającą, czy do bezpłatnej listy należy dodać więcej bloków pamięci.

bool full();

Wartość zwracana

true jeśli _Nallocs / 16 + 16 <= _Nblocks.

Uwagi

Ta funkcja składowa jest wywoływana przez cache_freelist::deallocateelement . Jeśli wywołanie zwróci truewartość , deallocate umieszcza blok pamięci na liście bezpłatnej. Jeśli zwraca wartość false, deallocate operator wywołuje operator delete , aby cofnąć przydział bloku.

max_variable_size::max_variable_size

Tworzy obiekt typu max_variable_size.

max_variable_size();

Uwagi

Konstruktor inicjuje przechowywane wartości _Nblocks i _Nallocs do zera.

max_variable_size::released

Dekrementuje liczbę bloków pamięci na bezpłatnej liście.

void released();

Uwagi

Ta funkcja składowa dekrementuje przechowywaną wartość _Nblocks. Funkcja released składowa bieżącej klasy max jest wywoływana za cache_freelist::allocate każdym razem, gdy usunie blok pamięci z listy bezpłatnej.

max_variable_size::saved

Zwiększa liczbę bloków pamięci na bezpłatnej liście.

void saved();

Uwagi

Ta funkcja składowa zwiększa przechowywaną wartość _Nblocks. Ta funkcja składowa jest wywoływana za cache_freelist::deallocate każdym razem, gdy umieszcza blok pamięci na liście bezpłatnej.

Zobacz też

<Allocators>