Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описывает фильтр синхронизации, использующий мьютекс для управления доступом к объекту кэша, который является общим для всех распределителей.
Синтаксис
template <class Cache>
class sync_shared
Параметры
Кэш
Тип кэша, связанный с фильтром синхронизации. Он может иметь значение cache_chunklist, cache_freelist или cache_suballoc.
Функции элементов
| Функция-член | Описание |
|---|---|
| размещать | Выделяет блок памяти. |
| Освобождения | Освобождает указанное число объектов из памяти, начиная с заданной позиции. |
| равно | Сравнивает два кэша на равенство. |
Требования
Заголовок:<распределители>
Пространство имен: stdext
sync_shared::allocate
Выделяет блок памяти.
void *allocate(std::size_t count);
Параметры
число
Число выделяемых элементов в массиве.
Возвращаемое значение
Указатель на выделяемый объект.
Замечания
Функция-член блокирует мьютекс, вызывает метод cache.allocate(count), разблокирует мьютекс и возвращает результат более раннего вызова cache.allocate(count).
cache представляет текущий объект кэша.
sync_shared::d eallocate
Освобождает указанное число объектов из памяти, начиная с заданной позиции.
void deallocate(void* ptr, std::size_t count);
Параметры
ptr
Указатель на первый объект, который необходимо освободить из хранилища.
число
Количество объектов для освобождения из хранилища.
Замечания
Эта функция-член блокирует мьютекс, вызывает метод cache.deallocate(ptr, count), где cache представляет объект кэша, а затем разблокирует мьютекс.
sync_shared::equals
Сравнивает два кэша на равенство.
bool equals(const sync_shared<Cache>& Other) const;
Параметры
Кэш
Тип кэша, связанный с фильтром синхронизации.
Другое
Кэш для сравнения на равенство.
Возвращаемое значение
Значение true если результат cache.equals(Other.cache), где cache представляет объект кэша, равен true; в противном случае — значение false.