Bagikan melalui


Kelas rts_alloc

Templat kelas rts_alloc menjelaskan filter yang menyimpan array instans cache dan menentukan instans mana yang akan digunakan untuk alokasi dan dealokasi pada runtime alih-alih pada waktu kompilasi.

Sintaks

template <class Cache>
class rts_alloc

Parameter

Cache
Jenis instans cache yang terkandung dalam array. Bisa berupa cache_chunklist, cache_freelist, atau cache_suballoc.

Keterangan

Templat kelas ini menyimpan beberapa instans alokator blok dan menentukan instans mana yang akan digunakan untuk alokasi atau dealokasi pada runtime alih-alih pada waktu kompilasi. Ini digunakan dengan pengkompilasi yang tidak dapat mengkompilasi pengikatan ulang.

Fungsi anggota

Fungsi anggota Deskripsi
Mengalokasikan Mengalokasikan blok memori.
batalkan alokasi Membebaskan jumlah objek tertentu dari penyimpanan yang dimulai pada posisi tertentu.
setara Membandingkan dua cache untuk kesetaraan.

Persyaratan

Header:<alokator>

Namespace: stdext

rts_alloc::alokasikan

Mengalokasikan blok memori.

void *allocate(std::size_t count);

Parameter

count
Jumlah elemen dalam array yang akan dialokasikan.

Tampilkan Nilai

Penunjuk ke objek yang dialokasikan.

Keterangan

Fungsi anggota mengembalikan caches[_IDX].allocate(count), di mana indeks _IDX ditentukan oleh jumlah ukuran blok yang diminta, atau, jika jumlah terlalu besar, indeks akan mengembalikan operator new(count). cache, yang mewakili objek cache.

rts_alloc::d eallocate

Membebaskan jumlah objek tertentu dari penyimpanan yang dimulai pada posisi tertentu.

void deallocate(void* ptr, std::size_t count);

Parameter

ptr
Penunjuk ke objek pertama yang akan dibatalkan alokasinya dari penyimpanan.

count
Jumlah objek yang akan dibatalkan alokasinya dari penyimpanan.

Keterangan

Fungsi anggota memanggil caches[_IDX].deallocate(ptr, count), di mana indeks _IDX ditentukan oleh jumlah ukuran blok yang diminta, atau, jika jumlah terlalu besar, indeks akan mengembalikan operator delete(ptr).

rts_alloc::equals

Membandingkan dua cache untuk kesetaraan.

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

Parameter

_Tembolok
Objek cache yang terkait dengan filter.

_Other
Objek cache untuk dibandingkan dengan kesetaraan.

Keterangan

true jika hasilnya caches[0].equals(other.caches[0]); jika tidak, false. caches mewakili array objek cache.

Lihat juga

ALLOCATOR_DECL
<alokator>