cache_suballoc Sınıfı
Tek boyuttaki bellek bloklarını ayıran ve serbest bırakacak bir blok ayırıcı tanımlar.
Sözdizimi
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Parametreler
Sz
Dizideki ayrılacak öğe sayısı.
Açıklamalar
cache_suballoc sınıf şablonu serbest bırakılmış bellek bloklarını, kullanarak freelist<sizeof(Type), max_unbounded>
ilişkisiz bir listede depolar ve boş liste boş olduğunda yeni işleciyle ayrılmış daha büyük bir öbekteki bellek bloklarını suballocates.
Her öbek, kullanılabilir bellek baytlarını ve yeni ve işleç silme işlecinin gerektirdiği verileri tutar Sz * Nelts
. Ayrılan öbekler hiçbir zaman serbest kalmaz.
Oluşturucular
Oluşturucu | Açıklama |
---|---|
cache_suballoc | türünde cache_suballoc bir nesnesi oluşturur. |
Ü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. |
Gereksinimler
Üst bilgi:<ayırıcılar>
Ad alanı: stdext
cache_suballoc::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
cache_suballoc::cache_suballoc
türünde cache_suballoc
bir nesnesi oluşturur.
cache_suballoc();
Açıklamalar
cache_suballoc::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ı.