Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описывает объект max class, который ограничивает максимальную длину объекта freelist до значения, приблизительно пропорционального количеству выделенных блоков памяти.
Синтаксис
class max_variable_size
Конструкторы
| Конструктор | Description |
|---|---|
| max_variable_size | Создает объект типа max_variable_size. |
Функции элементов
| Функция-член | Description |
|---|---|
| allocated | Увеличивает счетчик выделенных блоков памяти. |
| deallocated | Уменьшает счетчик выделенных блоков памяти. |
| full | Возвращает значение, указывающее, следует ли добавить дополнительные блоки памяти для свободного списка. |
| released | Уменьшает количество блоков памяти в свободном списке. |
| saved | Увеличивает количество блоков памяти в свободном списке. |
Требования
Заголовок:<распределители>
Пространство имен: stdext
max_variable_size::allocated
Увеличивает счетчик выделенных блоков памяти.
void allocated(std::size_t _Nx = 1);
Параметры
_Nx
Значение приращения.
Замечания
Эта функция-член добавляет _Nx в сохраненное значение _Nallocs. Она вызывается после каждого успешного вызова со стороны cache_freelist::allocate оператора new. Аргумент _Nx — это количество блоков памяти в блоке, выделенном оператором new.
max_variable_size::d eallocated
Уменьшает счетчик выделенных блоков памяти.
void deallocated(std::size_t _Nx = 1);
Параметры
_Nx
Значение приращения.
Замечания
Функция-член вычитает _Nx из сохраненного значения _Nallocs. Она вызывается после каждого вызова со стороны cache_freelist::deallocate оператора delete. Аргумент _Nx — это количество блоков памяти в блоке, освобожденном оператором delete.
max_variable_size::full
Возвращает значение, указывающее, следует ли добавить дополнительные блоки памяти для свободного списка.
bool full();
Возвращаемое значение
true, если _Nallocs / 16 + 16 <= _Nblocks.
Замечания
Эта функция-член вызывается cache_freelist::deallocate. Если вызов возвращает true, deallocate помещает блок памяти в свободный список; если он возвращает false, deallocate вызывает оператор delete для освобождения блока.
max_variable_size::max_variable_size
Создает объект типа max_variable_size.
max_variable_size();
Замечания
Конструктор инициализирует сохраненные значения _Nblocks и _Nallocs нулями.
max_variable_size::released
Уменьшает количество блоков памяти в свободном списке.
void released();
Замечания
Эта функция-член уменьшает хранимое значение _Nblocks. Функция-член released текущего класса max вызывается cache_freelist::allocate каждый раз при удалении блока памяти из свободного списка.
max_variable_size::сохранено
Увеличивает количество блоков памяти в свободном списке.
void saved();
Замечания
Эта функция-член увеличивает хранимое значение _Nblocks. Она вызывается cache_freelist::deallocate каждый раз при помещении блока памяти в свободный список.