Classe choice
Un bloc de messagerie choice est une source multiple, bloc de cible unique qui représente une interaction de flux de contrôle avec un jeu de sources.Le bloc de choix attendra que l'une des sources multiples produise un message et propagera l'index de la source qui a produit le message.
template<
class _Type
>
class choice: public ISource<size_t>;
Paramètres
- _Type
Type basé sur un tuple qui représente les charges utiles des sources d'entrée.
Membres
Typedefs publics
Nom |
Description |
---|---|
type |
Alias de type pour _Type. |
Constructeurs publics
Nom |
Description |
---|---|
Surchargé.Construit un bloc de messagerie choice. |
|
Détruit le bloc de messagerie choice. |
Méthodes publiques
Nom |
Description |
---|---|
Accepte un message qui a été transmis par ce bloc choice, en transférant la propriété à l'appelant. |
|
Acquiert un décompte de références sur ce bloc de messagerie choice, pour empêcher la suppression. |
|
Consomme un message offert précédemment par ce bloc de messagerie choice et réservé avec succès par la cible, en transférant la propriété à l'appelant. |
|
Vérifie si ce bloc de messagerie choice a déjà été initialisé avec une valeur. |
|
Retourne un index dans le tuple qui représente l'élément sélectionné par le bloc de messagerie choice. |
|
Lie un bloc cible à ce bloc de messagerie choice. |
|
Libère une réservation de message réussie précédente. |
|
Libère un nombre de références sur ce bloc de messagerie choice. |
|
Réserve un message précédemment offert par ce bloc de messagerie choice. |
|
Dissocie un bloc cible de ce bloc de messagerie choice. |
|
Dissocie toutes les cibles de ce bloc de messagerie choice.(Substitue ISource::unlink_targets.) |
|
Obtient le message dont l'index a été sélectionné par le bloc de messagerie choice. |
Notes
Le bloc de choix vérifie qu'un seul des messages entrants est consommé.
Pour plus d'informations, consultez Blocs de messages asynchrones.
Hiérarchie d'héritage
choice
Configuration requise
En-tête : agents.h
Accès concurrentiel del'espace de noms :