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::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_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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla