max_fixed_size — Klasa
Opisuje maksymalny obiekt klasy, który ogranicza obiekt freelist do stałej maksymalnej długości.
Składnia
template <std::size_t Max>
class max_fixed_size
Parametry
Maksimum
Maksymalna klasa określająca maksymalną liczbę elementów do przechowywania w obiekcie freelist
.
Konstruktory
Konstruktor | opis |
---|---|
max_fixed_size | Tworzy obiekt typu max_fixed_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łny | 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_fixed_size::przydzielone
Zwiększa liczbę przydzielonych bloków pamięci.
void allocated(std::size_t _Nx = 1);
Parametry
_Nx
Wartość przyrostu.
Uwagi
Funkcja składowa nic nie robi. 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_fixed_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 nic nie robi. 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_fixed_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
if ; w Max <= _Nblocks
przeciwnym razie , false
.
Uwagi
Ta funkcja składowa jest wywoływana przez cache_freelist::deallocate
element . Jeśli wywołanie zwróci true
wartość , 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_fixed_size::max_fixed_size
Tworzy obiekt typu max_fixed_size
.
max_fixed_size();
Uwagi
Ten konstruktor inicjuje przechowywaną wartość _Nblocks
do zera.
max_fixed_size::released
Dekrementuje liczbę bloków pamięci na bezpłatnej liście.
void released();
Uwagi
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_fixed_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.