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_suballocolabilircache_chunklistcache_freelist.

Üye işlevleri

Üye işlevi Açıklama
allocate Bir bellek bloğu ayırır.
Ayırması Belirtilen sayıda nesneyi belirtilen konumdan başlayarak depolama alanından serbest bırakın.
equals 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

count
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.

count
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.

Açıklamalar

Ayrıca bkz.

<Allocators>