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 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ł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_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.