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_freelist
nebo 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
true
pokud výsledek , kde cache
představuje objekt mezipaměti, je true
; v opačném případě , false
.cache.equals(Other.cache)