Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 <= _Nblocksprzeciwnym razie , false.
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_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.