Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.