Aracılığıyla paylaş


sync_shared Sınıfı

Ayırıcılar tarafından paylaşılan bir önbellek nesnesine erişimi denetlemek için bir mutex kullanan eşitleme filtresini açıklar.

Sözdizimi

template <class Cache>
class sync_shared

Parametreler

Önbellek
Eşitleme filtresiyle ilişkili önbellek türü. , veya cache_chunklistolabilircache_freelistcache_suballoc.

Üye işlevleri

Üye işlevi Açıklama
ayırmak Bir bellek bloğu ayırır.
Ayırması Belirtilen sayıda nesneyi belirtilen konumdan başlayarak depolama alanından serbest bırakın.
eşittir Eşitlik için iki önbelleği karşılaştırır.

Gereksinimler

Üst bilgi:<ayırıcılar>

Ad alanı: stdext

sync_shared::allocate

Bir bellek bloğu ayırır.

void *allocate(std::size_t count);

Parametreler

sayı
Dizideki ayrılacak öğe sayısı.

Dönüş Değeri

Ayrılan nesnenin işaretçisi.

Açıklamalar

üye işlevi mutex'i kilitler, çağırır cache.allocate(count), mutex'in kilidini açar ve önceki çağrısının cache.allocate(count)sonucunu döndürür. cache geçerli önbellek nesnesini temsil eder.

sync_shared::d eallocate

Belirtilen sayıda nesneyi belirtilen konumdan başlayarak depolama alanından serbest bırakın.

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

Parametreler

ptr
Depolama alanından serbest bırakılacak ilk nesnenin işaretçisi.

sayı
Depolama alanından serbest bırakılacak nesne sayısı.

Açıklamalar

Bu üye işlevi mutex'i kilitler, burada önbellek nesnesini temsil eden öğesini çağırır cache.deallocate(ptr, count)cache ve ardından mutex'in kilidini açar.

sync_shared::equals

Eşitlik için iki önbelleği karşılaştırır.

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

Parametreler

Önbellek
Eşitleme filtresiyle ilişkili önbellek türü.

Diğer
Eşitlik için karşılaştıracak önbellek.

Dönüş Değeri

true sonucunun cache.equals(Other.cache)önbellek nesnesini temsil ettiği sonucu cache ise ; truedeğilse, falseolur.

Ayrıca bkz.

<Allocators>