Класс sync_shared

Описывает фильтр синхронизации, использующий мьютекс для управления доступом к объекту кэша, который является общим для всех распределителей.

Синтаксис

template <class Cache>
class sync_shared

Параметры

Cache
Тип кэша, связанный с фильтром синхронизации. Он может иметь значение cache_chunklist, cache_freelist или cache_suballoc.

Функции элементов

Функция-член Description
allocate Выделяет блок памяти.
deallocate Освобождает указанное число объектов из памяти, начиная с заданной позиции.
equals Сравнивает два кэша на равенство.

Требования

Заголовок:<распределители>

Пространство имен: stdext

sync_shared::allocate

Выделяет блок памяти.

void *allocate(std::size_t count);

Параметры

count
Число выделяемых элементов в массиве.

Возвращаемое значение

Указатель на выделяемый объект.

Замечания

Функция-член блокирует мьютекс, вызывает метод cache.allocate(count), разблокирует мьютекс и возвращает результат более раннего вызова cache.allocate(count). cache представляет текущий объект кэша.

sync_shared::d eallocate

Освобождает указанное число объектов из памяти, начиная с заданной позиции.

void deallocate(void* ptr, std::size_t count);

Параметры

ptr
Указатель на первый объект, который необходимо освободить из хранилища.

count
Количество объектов для освобождения из хранилища.

Замечания

Эта функция-член блокирует мьютекс, вызывает метод cache.deallocate(ptr, count), где cache представляет объект кэша, а затем разблокирует мьютекс.

sync_shared::equals

Сравнивает два кэша на равенство.

bool equals(const sync_shared<Cache>& Other) const;

Параметры

Cache
Тип кэша, связанный с фильтром синхронизации.

Прочее
Кэш для сравнения на равенство.

Возвращаемое значение

Значение true если результат cache.equals(Other.cache), где cache представляет объект кэша, равен true; в противном случае — значение false.

Замечания

См. также

<Распределители>