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.
Kelas concurrent_priority_queue adalah kontainer yang memungkinkan beberapa utas untuk secara bersamaan mendorong dan memunculkan item. Item dimunculkan dalam urutan prioritas di mana prioritas ditentukan oleh funktor yang disediakan sebagai argumen templat.
Sintaks
template <typename T,
typename _Compare = std::less<T>,
typename _Ax = std::allocator<T>>
class concurrent_priority_queue;
Parameter
T
Jenis data elemen yang akan disimpan dalam antrean prioritas.
_Membandingkan
Jenis objek fungsi yang dapat membandingkan dua nilai elemen sebagai kunci pengurutan untuk menentukan urutan relatifnya dalam antrean prioritas. Argumen ini bersifat opsional dan predikat less<T> biner adalah nilai default.
_Kapak
Jenis yang mewakili objek alokator tersimpan yang merangkum detail tentang alokasi dan alokasi memori untuk antrean prioritas bersamaan. Argumen ini bersifat opsional dan nilai defaultnya adalah allocator<T>.
Anggota
Typedef Publik
| Nama | Deskripsi |
|---|---|
allocator_type |
Jenis yang mewakili kelas alokator untuk antrean prioritas bersamaan. |
const_reference |
Jenis yang mewakili referensi const ke elemen jenis yang disimpan dalam antrean prioritas bersamaan. |
reference |
Jenis yang mewakili referensi ke elemen jenis yang disimpan dalam antrean prioritas bersamaan. |
size_type |
Jenis yang menghitung jumlah elemen dalam antrean prioritas bersamaan. |
value_type |
Jenis yang mewakili jenis data yang disimpan dalam antrean prioritas bersamaan. |
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| concurrent_priority_queue | Kelebihan beban. Membuat antrean prioritas bersamaan. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| hapus | Menghapus semua elemen dalam prioritas bersamaan. Metode ini tidak aman konkurensi. |
| kosong | Menguji apakah antrean prioritas bersamaan kosong pada saat metode ini dipanggil. Metode ini aman konkurensi. |
| get_allocator | Mengembalikan salinan alokator yang digunakan untuk membuat antrean prioritas bersamaan. Metode ini aman konkurensi. |
| dorong | Kelebihan beban. Menambahkan elemen ke antrean prioritas bersamaan. Metode ini aman konkurensi. |
| ukuran | Mengembalikan jumlah elemen dalam antrean prioritas bersamaan. Metode ini aman konkurensi. |
| tukar | Menukar isi dua antrean prioritas bersamaan. Metode ini tidak aman konkurensi. |
| try_pop | Menghapus dan mengembalikan elemen prioritas tertinggi dari antrean jika antrean tidak kosong. Metode ini aman konkurensi. |
Operator Publik
| Nama | Deskripsi |
|---|---|
| operator = | Kelebihan beban. Menetapkan isi objek lain concurrent_priority_queue untuk objek ini. Metode ini tidak aman konkurensi. |
Keterangan
Untuk informasi terperinci tentang concurrent_priority_queue kelas, lihat Kontainer dan Objek Paralel.
Hierarki Warisan
concurrent_priority_queue
Persyaratan
Tajuk: concurrent_priority_queue.h
Namespace: konkurensi
hapus
Menghapus semua elemen dalam prioritas bersamaan. Metode ini tidak aman konkurensi.
void clear();
Keterangan
clear tidak aman konkurensi. Anda harus memastikan bahwa tidak ada utas lain yang memanggil metode pada antrean prioritas bersamaan saat Anda memanggil metode ini.
clear tidak membebaskan memori.
concurrent_priority_queue
Membuat antrean prioritas bersamaan.
explicit concurrent_priority_queue(
const allocator_type& _Al = allocator_type());
explicit concurrent_priority_queue(
size_type _Init_capacity,
const allocator_type& _Al = allocator_type());
template<typename _InputIterator>
concurrent_priority_queue(_InputIterator _Begin,
_InputIterator _End,
const allocator_type& _Al = allocator_type());
concurrent_priority_queue(
const concurrent_priority_queue& _Src);
concurrent_priority_queue(
const concurrent_priority_queue& _Src,
const allocator_type& _Al);
concurrent_priority_queue(
concurrent_priority_queue&& _Src);
concurrent_priority_queue(
concurrent_priority_queue&& _Src,
const allocator_type& _Al);
Parameter
_InputIterator
Jenis iterator input.
_Al
Kelas alokator untuk digunakan dengan objek ini.
_Init_capacity
Kapasitas concurrent_priority_queue awal objek.
_Mulai
Posisi elemen pertama dalam rentang elemen yang akan disalin.
_Ujung
Posisi elemen pertama di luar rentang elemen yang akan disalin.
_Src
Objek sumber concurrent_priority_queue untuk menyalin atau memindahkan elemen.
Keterangan
Semua konstruktor menyimpan objek _Al alokator dan menginisialisasi antrean prioritas.
Konstruktor pertama menentukan antrean prioritas awal kosong dan secara opsional menentukan alokator.
Konstruktor kedua menentukan antrean prioritas dengan kapasitas _Init_capacity awal dan secara opsional menentukan alokator.
Konstruktor ketiga menentukan nilai yang disediakan oleh rentang iterator [ _Begin, , _End) dan secara opsional menentukan alokator.
Konstruktor keempat dan kelima menentukan salinan antrean _Srcprioritas .
Konstruktor keenam dan ketujuh menentukan pemindahan antrean _Srcprioritas .
kosong
Menguji apakah antrean prioritas bersamaan kosong pada saat metode ini dipanggil. Metode ini aman konkurensi.
bool empty() const;
Tampilkan Nilai
true jika antrean prioritas kosong saat fungsi dipanggil, false jika tidak.
get_allocator
Mengembalikan salinan alokator yang digunakan untuk membuat antrean prioritas bersamaan. Metode ini aman konkurensi.
allocator_type get_allocator() const;
Tampilkan Nilai
Salinan alokator yang digunakan untuk membuat concurrent_priority_queue objek.
operator=
Menetapkan isi objek lain concurrent_priority_queue untuk objek ini. Metode ini tidak aman konkurensi.
concurrent_priority_queue& operator= (const concurrent_priority_queue& _Src);
concurrent_priority_queue& operator= (concurrent_priority_queue&& _Src);
Parameter
_Src
Objek sumber concurrent_priority_queue .
Tampilkan Nilai
Referensi ke objek ini concurrent_priority_queue .
dorong
Menambahkan elemen ke antrean prioritas bersamaan. Metode ini aman konkurensi.
void push(const value_type& _Elem);
void push(value_type&& _Elem);
Parameter
_Elem
Elemen yang akan ditambahkan ke antrean prioritas bersamaan.
ukuran
Mengembalikan jumlah elemen dalam antrean prioritas bersamaan. Metode ini aman konkurensi.
size_type size() const;
Tampilkan Nilai
Jumlah elemen dalam objek ini concurrent_priority_queue .
Keterangan
Ukuran yang dikembalikan dijamin untuk menyertakan semua elemen yang ditambahkan oleh panggilan ke fungsi push. Namun, mungkin tidak mencerminkan hasil operasi bersamaan yang tertunda.
pertukaran
Menukar isi dua antrean prioritas bersamaan. Metode ini tidak aman konkurensi.
void swap(concurrent_priority_queue& _Queue);
Parameter
_Antre
Objek concurrent_priority_queue untuk menukar konten dengan.
try_pop
Menghapus dan mengembalikan elemen prioritas tertinggi dari antrean jika antrean tidak kosong. Metode ini aman konkurensi.
bool try_pop(reference _Elem);
Parameter
_Elem
Referensi ke variabel yang akan diisi dengan elemen prioritas tertinggi, jika antrean tidak kosong.
Tampilkan Nilai
true jika nilai muncul, false jika tidak.