Partager via


concurrent_priority_queue, classe

La classe concurrent_priority_queue est un conteneur qui permet à plusieurs threads de pousser et dépiler simultanément des éléments. Les éléments sont dépilés par ordre de priorité, où la priorité est déterminée par un foncteur fourni comme argument du modèle.

template <
   typename _Ty,
   typename _Compare=std::less<_Ty>,
   typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;

Paramètres

  • _Ty
    Type de données des éléments à stocker dans la file d'attente prioritaire.

  • _Compare
    Le type de l'objet de fonction qui peut comparer deux valeurs d'éléments comme clés de tri pour déterminer leur ordre relatif dans la file d'attente prioritaire. Cet argument est facultatif et le prédicat binaire less<_Ty**>** est la valeur par défaut.

  • _Ax
    Le type qui représente l'objet d'allocation stocké qui contient des détails sur l'allocation et la désallocation de mémoire pour la file d'attente prioritaire simultanée. Cet argument est facultatif et la valeur par défaut est allocator<_Ty**>**.

Membres

Typedefs publics

Nom

Description

allocator_type

Type qui représente la classe d'allocateur pour la file d'attente simultanée prioritaire.

const_reference

Un type qui représente une référence const à un élément du type stockées dans une file d'attente prioritaire simultanée.

reference

Un type qui représente une référence à un élément du type stockées dans une file d'attente prioritaire simultanée.

size_type

Type qui compte le nombre d'éléments dans une file d'attente simultanée prioritaire.

value_type

Type qui représente le type de données stocké dans une file d'attente simultanée prioritaire.

Constructeurs publics

Nom

Description

concurrent_priority_queue::concurrent_priority_queue, constructeur

Surchargé. Construit une file d'attente simultanée prioritaire.

M&#233;thodes publiques

Nom

Description

concurrent_priority_queue::clear, méthode

Efface tous les éléments dans la priorité simultanée. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::empty, méthode

Teste si la file d'attente simultanée prioritaire est vide à l'instant de l'appel de la méthode. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::get_allocator, méthode

Retourne une copie de l'allocateur utilisé pour construire la file d'attente simultanée prioritaire. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::push, méthode

Surchargé. Ajoute un élément à la file d'attente simultanée prioritaire. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::size, méthode

Retourne le nombre d'éléments contenus dans la file d'attente simultanée prioritaire. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::swap, méthode

Habite le contenu de deux files d'attente à priorité déterminée simultanées. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

concurrent_priority_queue::try_pop, méthode

Supprime et retourne l'élément à la priorité la plus élevée de la file d'attente si la file d'attente est vide. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

Op&#233;rateurs publics

Nom

Description

concurrent_priority_queue::operator=, opérateur

Surchargé. Assigne le contenu d'un autre objet concurrent_priority_queue à celui-ci. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

Notes

Pour plus d'informations sur la classe concurrent_priority_queue, consultez Conteneurs et objets parallèles.

Hiérarchie d'héritage

concurrent_priority_queue

Configuration requise

En-tête : concurrent_priority_queue.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms

Concepts

Conteneurs et objets parallèles