Aracılığıyla paylaş


rts_alloc Sınıfı

rts_alloc sınıf şablonu, bir dizi önbellek örneğini barındıran bir filtreyi açıklar ve derleme zamanında değil çalışma zamanında ayırma ve serbest bırakma için hangi örneğin kullanılacağını belirler.

Sözdizimi

template <class Cache>
class rts_alloc

Parametreler

Önbellek
Dizide yer alan önbellek örneklerinin türü. , veya cache_suballocolabilircache_chunklistcache_freelist.

Açıklamalar

Bu sınıf şablonu birden çok blok ayırıcı örneği tutar ve derleme zamanı yerine çalışma zamanında ayırma veya serbest bırakma için hangi örneğin kullanılacağını belirler. Yeniden bağlama derlemesi yapamayan derleyicilerle birlikte kullanılır.

Ü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

rts_alloc::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, caches[_IDX].allocate(count)dizinin _IDX istenen blok boyutu sayısına göre belirlendiği veya sayı çok büyükse döndürüroperator new(count). cache, önbellek nesnesini temsil eder.

rts_alloc::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

Üye işlevi, dizinin _IDX istenen blok boyutu sayısına göre belirlendiği öğesini çağırır caches[_IDX].deallocate(ptr, count)veya sayı çok büyükse döndürüroperator delete(ptr).

rts_alloc::equals

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

bool equals(const sync<_Cache>& _Other) const;

Parametreler

_Önbellek
Filtreyle ilişkilendirilmiş önbellek nesnesi.

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

Açıklamalar

true sonucu caches[0].equals(other.caches[0])ise; değilse, false. caches önbellek nesneleri dizisini temsil eder.

Ayrıca bkz.

ALLOCATOR_DECL
<Allocators>