Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.