Share via


concurrent_queue, classe

La classe concurrent_queue est une classe de conteneur de séquences qui autorise l'accès premier entré, premier sorti à ses éléments. Il permet un ensemble limité d'opérations d'accès concurrentiel sécurisées, telles que push et try_pop, pour n'en nommer que quelques-unes.

template<
   typename _Ty,
   class _Ax
>
class concurrent_queue: public ::Concurrency::details::_Concurrent_queue_base_v4;

Paramètres

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

  • _Ax
    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 cette file d'attente 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.

const_iterator

Type qui représente un itérateur const non thread-safe sur les éléments dans une file d'attente simultanée.

const_reference

Type qui fournit une référence à un élément const stocké dans une file d'attente simultanée pour la lecture et l'exécution d'opérations const.

difference_type

Type qui fournit la distance signée entre deux éléments dans une file d'attente simultanée.

iterator

Type qui représente un itérateur non thread-safe sur les éléments dans une file d'attente simultanée.

reference

Type qui fournit une référence à un élément stocké dans une file d'attente simultanée.

size_type

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

value_type

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

Constructeurs publics

Nom

Description

concurrent_queue::concurrent_queue, constructeur

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

concurrent_queue::~concurrent_queue, destructeur

Détruit la file d'attente simultanée.

Méthodes publiques

Nom

Description

concurrent_queue::clear, méthode

Efface la file d'attente simultanée, en détruisant les éléments actuellement dans la file. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

concurrent_queue::empty, méthode

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

concurrent_queue::get_allocator, méthode

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

concurrent_queue::push, méthode

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

concurrent_queue::try_pop, méthode

Enlève un élément de la file d'attente s'il y en a un de disponible. Cette méthode est sécurisée du point de vue de l'accès concurrentiel.

concurrent_queue::unsafe_begin, méthode

Surchargé. Retourne un itérateur de type iterator ou const_iterator au début de la file d'attente simultanée. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

concurrent_queue::unsafe_end, méthode

Surchargé. Retourne un itérateur de type iterator ou const_iterator à la fin de la file d'attente simultanée. Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel.

concurrent_queue::unsafe_size, méthode

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

Notes

Pour plus d'informations, consultez Conteneurs et objets parallèles.

Hiérarchie d'héritage

_Concurrent_queue_base_v4

concurrent_queue

Configuration requise

En-tête : concurrent_queue.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms