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 menjelaskan objek yang melengkapi jenis alokator. Jenis alokator adalah jenis apa pun yang menjelaskan objek alokator yang digunakan untuk mengelola penyimpanan yang dialokasikan. Secara khusus, untuk jenis Allocalokator apa pun, Anda dapat menggunakan allocator_traits<Alloc> untuk menentukan semua informasi yang diperlukan oleh kontainer berkemampuan alokator. Untuk informasi selengkapnya, lihat Kelas alokator default.
Sintaks
template <class Alloc>
class allocator_traits;
Anggota
Typedefs
| Nama | Deskripsi |
|---|---|
allocator_type |
Jenis ini adalah sinonim untuk parameter Alloctemplat . |
const_pointer |
Jenis ini adalah Alloc::const_pointer, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah pointer_traits<pointer>::rebind<const value_type>. |
const_void_pointer |
Jenis ini adalah Alloc::const_void_pointer, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah pointer_traits<pointer>::rebind<const void>. |
difference_type |
Jenis ini adalah Alloc::difference_type, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah pointer_traits<pointer>::difference_type. |
pointer |
Jenis ini adalah Alloc::pointer, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah value_type *. |
propagate_on_container_copy_assignment |
Jenis ini adalah Alloc::propagate_on_container_copy_assignment, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah false_type. |
propagate_on_container_move_assignment |
Jenis ini adalah Alloc::propagate_on_container_move_assignment, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah false_type. Jika jenis menyimpan true, kontainer berkemampuan alokator menyalin alokator tersimpannya pada penetapan pemindahan. |
propagate_on_container_swap |
Jenis ini adalah Alloc::propagate_on_container_swap, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah false_type. Jika jenis memegang true, kontainer dengan dukungan alokator menukar alokator tersimpannya pada pertukaran. |
size_type |
Jenis ini adalah Alloc::size_type, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah make_unsigned<difference_type>::type. |
value_type |
Jenis ini adalah sinonim untuk Alloc::value_type. |
void_pointer |
Jenis ini adalah Alloc::void_pointer, jika jenis tersebut terbentuk dengan baik; jika tidak, jenis ini adalah pointer_traits<pointer>::rebind<void>. |
Metode Statis
Metode statis berikut memanggil metode yang sesuai pada parameter alokator tertentu.
| Nama | Deskripsi |
|---|---|
| Mengalokasikan | Metode statis yang mengalokasikan memori dengan menggunakan parameter alokator yang diberikan. |
| membangun | Metode statis yang menggunakan alokator tertentu untuk membangun objek. |
| batalkan alokasi | Metode statis yang menggunakan alokator tertentu untuk membatalkan alokasi jumlah objek tertentu. |
| menghancurkan | Metode statis yang menggunakan alokator tertentu untuk memanggil destruktor pada objek tanpa membatalkan alokasi memorinya. |
| max_size | Metode statis yang menggunakan alokator tertentu untuk menentukan jumlah maksimum objek yang dapat dialokasikan. |
| select_on_container_copy_construction | Metode statis yang memanggil select_on_container_copy_construction pada alokator yang ditentukan. |
mengalokasikan
Metode statis yang mengalokasikan memori dengan menggunakan parameter alokator yang diberikan.
static pointer allocate(Alloc& al, size_type count);
static pointer allocate(Alloc& al, size_type count,
typename allocator_traits<void>::const_pointer* hint);
Parameter
Al
Objek alokator.
count
Jumlah elemen yang akan dialokasikan.
Petunjuk
Yang const_pointer mungkin membantu objek alokator dalam memenuhi permintaan penyimpanan dengan menemukan alamat objek yang dialokasikan sebelum permintaan. Pointer null diperlakukan sebagai tidak ada petunjuk.
Tampilkan Nilai
Setiap metode mengembalikan penunjuk ke objek yang dialokasikan.
Metode statis pertama mengembalikan al.allocate(count).
Metode kedua mengembalikan al.allocate(count, hint), jika ekspresi tersebut terbentuk dengan baik; jika tidak, metode tersebut mengembalikan al.allocate(count).
membangun
Metode statis yang menggunakan alokator tertentu untuk membangun objek.
template <class Uty, class Types>
static void construct(Alloc& al, Uty* ptr, Types&&... args);
Parameter
Al
Objek alokator.
ptr
Penunjuk ke lokasi tempat objek akan dibangun.
argumen
Daftar argumen yang diteruskan ke konstruktor objek.
Keterangan
Fungsi anggota statis memanggil al.construct(ptr, args...), jika ekspresi tersebut terbentuk dengan baik; jika tidak, fungsi tersebut mengevaluasi ::new (static_cast<void *>(ptr)) Uty(std::forward<Types>(args)...).
batalkan alokasi
Metode statis yang menggunakan alokator tertentu untuk membatalkan alokasi jumlah objek tertentu.
static void deallocate(Alloc al,
pointer ptr,
size_type count);
Parameter
Al
Objek alokator.
ptr
Penunjuk ke lokasi awal objek yang akan dibatalkan alokasinya.
count
Jumlah objek yang akan dibatalkan alokasinya.
Keterangan
Metode ini memanggil al.deallocate(ptr, count).
Metode ini tidak melempar apa-apa.
menghancurkan
Metode statis yang menggunakan alokator tertentu untuk memanggil destruktor pada objek tanpa membatalkan alokasi memorinya.
template <class Uty>
static void destroy(Alloc& al, Uty* ptr);
Parameter
Al
Objek alokator.
ptr
Penunjuk ke lokasi objek.
Keterangan
Metode ini memanggil al.destroy(ptr), jika ekspresi tersebut terbentuk dengan baik; jika tidak, metode ini mengevaluasi ptr->~Uty().
max_size
Metode statis yang menggunakan alokator tertentu untuk menentukan jumlah maksimum objek yang dapat dialokasikan.
static size_type max_size(const Alloc& al);
Parameter
Al
Objek alokator.
Keterangan
Metode ini mengembalikan al.max_size(), jika ekspresi tersebut terbentuk dengan baik; jika tidak, maka akan mengembalikan numeric_limits<size_type>::max().
select_on_container_copy_construction
Metode statis yang memanggil select_on_container_copy_construction pada alokator yang ditentukan.
static Alloc select_on_container_copy_construction(const Alloc& al);
Parameter
Al
Objek alokator.
Tampilkan Nilai
Metode ini mengembalikan al.select_on_container_copy_construction(), jika jenis tersebut terbentuk dengan baik; jika tidak, metode tersebut mengembalikan al.
Keterangan
Metode ini digunakan untuk menentukan alokator ketika kontainer terkait dibuat salinan.