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_suballoc
olabilircache_chunklist
cache_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 ; true
değilse, false
olur.