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.
Objek combinable<T> ini dimaksudkan untuk menyediakan salinan data utas-privat, untuk melakukan sub-komputasi lokal utas bebas kunci selama algoritma paralel. Di akhir operasi paralel, sub-komputasi thread-private kemudian dapat digabungkan menjadi hasil akhir. Kelas ini dapat digunakan alih-alih variabel bersama, dan dapat mengakibatkan peningkatan performa jika sebaliknya akan ada banyak ketidakcocokan pada variabel bersama tersebut.
Sintaks
template<typename T>
class combinable;
Parameter
T
Jenis data hasil gabungan akhir. Jenis harus memiliki konstruktor salinan dan konstruktor default.
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| Combinable | Kelebihan beban. Membuat objek baru combinable . |
| ~Combinable Destructor | Menghancurkan objek combinable . |
Metode Publik
| Nama | Deskripsi |
|---|---|
| hapus | Menghapus hasil komputasi perantara dari penggunaan sebelumnya. |
| Menggabungkan | Menghitung nilai akhir dari kumpulan sub-komputasi lokal utas dengan memanggil funktor gabungan yang disediakan. |
| combine_each | Menghitung nilai akhir dari kumpulan sub-komputasi lokal utas dengan memanggil funktor gabungan yang disediakan sekali per sub-komputasi lokal utas. Hasil akhir diakumulasikan oleh objek fungsi. |
| lokal | Kelebihan beban. Mengembalikan referensi ke sub-komputasi thread-private. |
Operator Publik
| Nama | Deskripsi |
|---|---|
| operator= | Menetapkan ke combinable objek dari objek lain combinable . |
Keterangan
Untuk informasi selengkapnya, lihat Kontainer dan Objek Paralel.
Hierarki Warisan
combinable
Persyaratan
Header: ppl.h
Namespace: konkurensi
hapus
Menghapus hasil komputasi perantara dari penggunaan sebelumnya.
void clear();
Combinable
Membuat objek baru combinable .
combinable();
template <typename _Function>
explicit combinable(_Function _FnInitialize);
combinable(const combinable& _Copy);
Parameter
_Fungsi
Jenis objek funktor inisialisasi.
_FnInitialize
Fungsi yang akan dipanggil untuk menginisialisasi setiap nilai thread-private baru dari jenis T. Ini harus mendukung operator panggilan fungsi dengan tanda tangan T ().
_Menyalin
Objek yang combinable sudah ada untuk disalin ke dalam objek ini.
Keterangan
Konstruktor pertama menginisialisasi elemen baru dengan konstruktor default untuk jenis T.
Konstruktor kedua menginisialisasi elemen baru menggunakan funktor inisialisasi yang disediakan sebagai _FnInitialize parameter .
Konstruktor ketiga adalah konstruktor salinan.
~Combinable
Menghancurkan objek combinable .
~combinable();
combine
Menghitung nilai akhir dari kumpulan sub-komputasi lokal utas dengan memanggil funktor gabungan yang disediakan.
template<typename _Function>
T combine(_Function _FnCombine) const;
Parameter
_Fungsi
Jenis objek fungsi yang akan dipanggil untuk menggabungkan dua sub-komputasi lokal utas.
_FnCombine
Funktor yang digunakan untuk menggabungkan sub-komputasi. Tanda tangannya adalah T (T, T) atau T (const T&, const T&), dan harus asosiatif dan komutatif.
Tampilkan Nilai
Hasil akhir menggabungkan semua sub-komputasi thread-private.
combine_each
Menghitung nilai akhir dari kumpulan sub-komputasi lokal utas dengan memanggil funktor gabungan yang disediakan sekali per sub-komputasi lokal utas. Hasil akhir diakumulasikan oleh objek fungsi.
template<typename _Function>
void combine_each(_Function _FnCombine) const;
Parameter
_Fungsi
Jenis objek fungsi yang akan dipanggil untuk menggabungkan satu sub-komputasi lokal utas.
_FnCombine
Funktor yang digunakan untuk menggabungkan satu sub-komputasi. Tanda tangannya adalah void (T) atau void (const T&), dan harus asosiatif dan komutatif.
Lokal
Mengembalikan referensi ke sub-komputasi thread-private.
T& local();
T& local(bool& _Exists);
Parameter
_Ada
Referensi ke boolean. Nilai boolean yang direferensikan oleh argumen ini akan diatur ke true jika sub-komputasi sudah ada pada utas ini, dan diatur ke false jika ini adalah sub-komputasi pertama pada utas ini.
Tampilkan Nilai
Referensi ke sub-komputasi thread-private.
operator=
Menetapkan ke combinable objek dari objek lain combinable .
combinable& operator= (const combinable& _Copy);
Parameter
_Menyalin
Objek yang combinable sudah ada untuk disalin ke dalam objek ini.
Tampilkan Nilai
Referensi ke objek ini combinable .