Sdílet prostřednictvím


sync_shared – třída

Popisuje synchronizační filtr , který používá mutex k řízení přístupu k objektu mezipaměti, který je sdílen všemi alokátory.

Syntaxe

template <class Cache>
class sync_shared

Parametry

Cache
Typ mezipaměti přidružené k synchronizačnímu filtru. Může to být cache_chunklist, cache_freelistnebo cache_suballoc.

Členské funkce

Členová funkce Popis
allocate Přidělí blok paměti.
uvolnit Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.
equals Porovná dvě mezipaměti pro rovnost.

Požadavky

Záhlaví:<alokátory>

Namespace: stdext

sync_shared::přidělení

Přidělí blok paměti.

void *allocate(std::size_t count);

Parametry

count
Počet prvků v poli, které se mají přidělit.

Návratová hodnota

Ukazatel na přidělený objekt.

Poznámky

Členské funkce uzamkne mutex, volání cache.allocate(count), odemkne mutex a vrátí výsledek předchozího volání cache.allocate(count). cache představuje aktuální objekt mezipaměti.

sync_shared::d eallocate

Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

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

Parametry

ptr
Ukazatel na první objekt, který se má uvolnit z úložiště.

count
Počet objektů, které se mají uvolnit z úložiště.

Poznámky

Tato členová funkce uzamkne mutex, volání cache.deallocate(ptr, count), kde cache představuje objekt mezipaměti a pak odemkne mutex.

sync_shared::equals

Porovná dvě mezipaměti pro rovnost.

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

Parametry

Cache
Typ mezipaměti přidružené k synchronizačnímu filtru.

Další
Mezipaměť, která se má porovnat s rovností.

Návratová hodnota

truepokud výsledek , kde cache představuje objekt mezipaměti, je true; v opačném případě , false.cache.equals(Other.cache)

Poznámky

Viz také

<alokátory>