Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
concurrent_priority_queue sınıfı, birden çok iş parçacığının öğeleri eşzamanlı olarak göndermesine ve açmasına olanak tanıyan bir kapsayıcıdır. Öğeler, önceliğin şablon bağımsız değişkeni olarak sağlanan bir functor tarafından belirlendiği öncelik sırasına göre gösterilir.
Sözdizimi
template <typename T,
typename _Compare = std::less<T>,
typename _Ax = std::allocator<T>>
class concurrent_priority_queue;
Parametreler
T
Öncelik kuyruğunda depolanacak öğelerin veri türü.
_Karşılaştırmak
Öncelik kuyruğundaki göreli düzenlerini belirlemek için sıralama anahtarları olarak iki öğe değerini karşılaştırabilen işlev nesnesinin türü. Bu bağımsız değişken isteğe bağlıdır ve ikili koşul less<T> varsayılan değerdir.
_Balta
Eş zamanlı öncelik sırası için bellek ayırma ve serbest bırakma hakkındaki ayrıntıları kapsülleyen depolanmış ayırıcı nesnesini temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değerdir allocator<T>.
Üyeler
Genel Tür Tanımları
| Veri Akışı Adı | Açıklama |
|---|---|
allocator_type |
Eşzamanlı öncelik kuyruğu için ayırıcı sınıfını temsil eden bir tür. |
const_reference |
Eşzamanlı öncelik kuyruğunda depolanan türün bir öğesine const başvuruyu temsil eden bir tür. |
reference |
Eşzamanlı öncelik kuyruğunda depolanan türün bir öğesine başvuruyu temsil eden bir tür. |
size_type |
Eşzamanlı öncelik kuyruğundaki öğe sayısını sayan bir tür. |
value_type |
Eşzamanlı öncelik kuyruğunda depolanan veri türünü temsil eden bir tür. |
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| concurrent_priority_queue | Aşırı yüklendi. Eşzamanlı öncelik sırası oluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| berrak | Eşzamanlı önceliğe göre tüm öğeleri siler. Bu yöntem eşzamanlılık açısından güvenli değildir. |
| boş | Bu yöntem çağrıldığında eşzamanlı öncelik kuyruğunun boş olup olmadığını test eder. Bu yöntem eşzamanlılık açısından güvenlidir. |
| get_allocator | Eşzamanlı öncelik kuyruğu oluşturmak için kullanılan ayırıcının bir kopyasını döndürür. Bu yöntem eşzamanlılık açısından güvenlidir. |
| gönderme | Aşırı yüklendi. Eşzamanlı öncelik kuyruğuna bir öğe ekler. Bu yöntem eşzamanlılık açısından güvenlidir. |
| boyut | Eşzamanlı öncelik kuyruğundaki öğe sayısını döndürür. Bu yöntem eşzamanlılık açısından güvenlidir. |
| değiş tokuş etmek | İki eşzamanlı öncelik kuyruğunun içeriğini değiştirir. Bu yöntem eşzamanlılık açısından güvenli değildir. |
| try_pop | Kuyruk boş değilse kuyruktan en yüksek öncelikli öğeyi kaldırır ve döndürür. Bu yöntem eşzamanlılık açısından güvenlidir. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| operator= | Aşırı yüklendi. Başka bir concurrent_priority_queue nesnenin içeriğini bu nesneye atar. Bu yöntem eşzamanlılık açısından güvenli değildir. |
Açıklamalar
sınıfı hakkında concurrent_priority_queue ayrıntılı bilgi için bkz . Paralel Kapsayıcılar ve Nesneler.
Devralma Hiyerarşisi
concurrent_priority_queue
Gereksinimler
Üst bilgi: concurrent_priority_queue.h
Ad alanı: eşzamanlılık
berrak
Eşzamanlı önceliğe göre tüm öğeleri siler. Bu yöntem eşzamanlılık açısından güvenli değildir.
void clear();
Açıklamalar
clear eşzamanlılık açısından güvenli değildir. Bu yöntemi çağırdığınızda eş zamanlı öncelik kuyruğunda başka hiçbir iş parçacığının yöntem çağırmadığından emin olmanız gerekir.
clear bellek boşaltmaz.
concurrent_priority_queue
Eşzamanlı öncelik sırası oluşturur.
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);
Parametreler
_InputIterator
Giriş yineleyicisinin türü.
_Al
Bu nesneyle kullanılacak kaynak ayırıcı sınıfı.
_Init_capacity
Nesnenin concurrent_priority_queue ilk kapasitesi.
_Başlamak
Kopyalanacak öğe aralığındaki ilk öğenin konumu.
_Son
Kopyalanacak öğe aralığının ötesindeki ilk öğenin konumu.
_Src
Öğeleri kopyalamak veya taşımak için kaynak concurrent_priority_queue nesne.
Açıklamalar
Tüm oluşturucular bir ayırıcı nesnesi _Al depolar ve öncelik sırasını başlatır.
İlk oluşturucu boş bir ilk öncelik kuyruğu belirtir ve isteğe bağlı olarak bir ayırıcı belirtir.
İkinci oluşturucu, ilk kapasiteye _Init_capacity sahip bir öncelik kuyruğu belirtir ve isteğe bağlı olarak bir ayırıcı belirtir.
Üçüncü oluşturucu[ _Begin, _End) yineleyici aralığı tarafından sağlanan değerleri belirtir ve isteğe bağlı olarak bir ayırıcı belirtir.
Dördüncü ve beşinci oluşturucular öncelik kuyruğunun _Srcbir kopyasını belirtir.
Altıncı ve yedinci oluşturucular öncelik kuyruğunun _Srctaşınmasını belirtir.
boş
Bu yöntem çağrıldığında eşzamanlı öncelik kuyruğunun boş olup olmadığını test eder. Bu yöntem eşzamanlılık açısından güvenlidir.
bool empty() const;
Dönüş Değeri
true öncelik sırası işlev çağrıldığı anda boşsa, false aksi takdirde.
get_allocator
Eşzamanlı öncelik kuyruğu oluşturmak için kullanılan ayırıcının bir kopyasını döndürür. Bu yöntem eşzamanlılık açısından güvenlidir.
allocator_type get_allocator() const;
Dönüş Değeri
Nesnesini oluşturmak için kullanılan ayırıcının concurrent_priority_queue bir kopyası.
operator=
Başka bir concurrent_priority_queue nesnenin içeriğini bu nesneye atar. Bu yöntem eşzamanlılık açısından güvenli değildir.
concurrent_priority_queue& operator= (const concurrent_priority_queue& _Src);
concurrent_priority_queue& operator= (concurrent_priority_queue&& _Src);
Parametreler
_Src
Kaynak concurrent_priority_queue nesne.
Dönüş Değeri
Bu concurrent_priority_queue nesneye bir başvuru.
itmek
Eşzamanlı öncelik kuyruğuna bir öğe ekler. Bu yöntem eşzamanlılık açısından güvenlidir.
void push(const value_type& _Elem);
void push(value_type&& _Elem);
Parametreler
_Elem
Eşzamanlı öncelik kuyruğuna eklenecek öğe.
boyut
Eşzamanlı öncelik kuyruğundaki öğe sayısını döndürür. Bu yöntem eşzamanlılık açısından güvenlidir.
size_type size() const;
Dönüş Değeri
Bu concurrent_priority_queue nesnedeki öğelerin sayısı.
Açıklamalar
Döndürülen boyutun işlevine pushçağrılar tarafından eklenen tüm öğeleri içermesi garanti edilir. Ancak, bekleyen eşzamanlı işlemlerin sonuçlarını yansıtmayabilir.
değiş tokuş etmek
İki eşzamanlı öncelik kuyruğunun içeriğini değiştirir. Bu yöntem eşzamanlılık açısından güvenli değildir.
void swap(concurrent_priority_queue& _Queue);
Parametreler
_Sıra
İçindekileri concurrent_priority_queue değiştirecek nesne.
try_pop
Kuyruk boş değilse kuyruktan en yüksek öncelikli öğeyi kaldırır ve döndürür. Bu yöntem eşzamanlılık açısından güvenlidir.
bool try_pop(reference _Elem);
Parametreler
_Elem
Kuyruk boş değilse en yüksek öncelikli öğeyle doldurulacak bir değişken başvurusu.
Dönüş Değeri
true bir değer oluşturulduysa, false aksi takdirde.