Класс freelist
Управляет списком блоков памяти.
Синтаксис
template <std::size_t Sz, class Max>
class freelist : public Max
Параметры
Sz
Число выделяемых элементов в массиве.
Max
Класс max, представляющий максимальное количество элементов, которые необходимо сохранить в свободном списке. Классом max может быть max_none, max_unbounded, max_fixed_size или max_variable_size.
Замечания
Этот шаблон класса управляет списком блоков памяти размера Sz с максимальной длиной списка, определяемого максимальным классом, переданным в Max.
Конструкторы
Конструктор | Description |
---|---|
freelist | Создает объект типа freelist . |
Функции элементов
Функция-член | Description |
---|---|
pop | Удаляет первый блок памяти из свободного списка. |
push | Добавляет блок памяти в список. |
Требования
Заголовок:<распределители>
Пространство имен: stdext
freelist::freelist
Создает объект типа freelist
.
freelist();
Замечания
freelist::p op
Удаляет первый блок памяти из свободного списка.
void *pop();
Возвращаемое значение
Возвращает указатель на блок памяти, удаленный из списка.
Замечания
Функция-член возвращает значение NULL, если список пуст. В противном случае удаляет первый блок памяти из списка.
freelist::p ush
Добавляет блок памяти в список.
bool push(void* ptr);
Параметры
ptr
Указатель на блок памяти, которые необходимо добавить в свободный список.
Возвращаемое значение
true
, если функция full
класса max возвращает false
; в противном случае функция push
возвращает false
.
Замечания
full
Если функция максимального класса возвращается, эта функция-член добавляет false
блок памяти, на который указывает ptr, в голову списка.