Partager via


Classe transformer

Un bloc de messagerie transformer est un propagator_block ordonné, multi-sources, à cible unique qui peut accepter des messages d'un type et stocker un nombre illimité de messages d'un type différent.

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

Paramètres

  • _Input
    Le type de charge utile des messages acceptés par la mémoire tampon.

  • _Output
    Le type de charge utile des messages stockés et propagés à l'extérieur par la mémoire tampon.

Membres

Constructeurs publics

Nom

Description

transformer::transformer, constructeur

Surchargé. Construit un bloc de messagerie transformer.

transformer::~transformer, destructeur

Détruit le bloc de messagerie transformer.

Méthodes protégées

Nom

Description

transformer::accept_message, méthode

Accepte un message qui a été transmis par ce bloc de messagerie transformer, en transférant la propriété à l'appelant.

transformer::consume_message, méthode

Consomme un message offert précédemment par le transformer et réservé par la cible, en transférant la propriété à l'appelant.

transformer::link_target_notification, méthode

Rappel qui notifie qu'une nouvelle cible a été liée à ce bloc de messagerie transformer.

transformer::propagate_message, méthode

Passe un message de façon asynchrone d'un bloc ISource à ce bloc de messagerie transformer. Il est appelé par la méthode propagate, en cas d'appel par un bloc source.

transformer::propagate_to_any_targets, méthode

Exécute la fonction transformer sur les messages d'entrée.

transformer::release_message, méthode

Libère une réservation de message précédente. (Substitue source_block::release_message.)

transformer::reserve_message, méthode

Réserve un message précédemment offert par ce bloc de messagerie transformer. (Substitue source_block::reserve_message.)

transformer::resume_propagation, méthode

Reprend la propagation après qu'une réservation a été libérée. (Substitue source_block::resume_propagation.)

transformer::send_message, méthode

Passe de façon synchrone un message du bloc ISource au bloc de messagerie transformer. Il est appelé par la méthode send, en cas d'appel par un bloc source.

transformer::supports_anonymous_source, méthode

Remplace la méthode supports_anonymous_source pour indiquer que le bloc peut recevoir des messages proposés par une source qui n'est pas liée. (Remplace ITarget::supports_anonymous_source).

Notes

Pour plus d'informations, consultez Blocs de messages asynchrones.

Hiérarchie d'héritage

ISource

ITarget

source_block

propagator_block

transformer

Configuration requise

En-tête : agents.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms

call, classe