Udostępnij za pośrednictwem


transformer — Klasa

Blok obsługi wiadomości transformer to blok obsługi wiadomości o jednym elemencie źródłowym i wielu elementach docelowych, uporządkowany propagator_block, który może akceptować wiadomości jednego typu i jest zdolny do przechowywania nieograniczonej liczby wiadomości różnych typów.

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

Parametry

  • _Input
    Typ ładunku wiadomości zaakceptowane przez bufor.

  • _Output
    Typ ładunku wiadomości przechowywane i propagowane się przez bufor.

Elementy członkowskie

Konstruktory publiczne

Nazwa

Opis

transformer::transformer — Konstruktor

Przeciążone.Konstrukcje transformer bloku obsługi wiadomości.

transformer::~transformer — Destruktor

Niszczy transformer bloku obsługi wiadomości.

Metody chronione

Nazwa

Opis

transformer::accept_message — Metoda

Akceptuje wiadomości, który był oferowany przez to transformer bloku obsługi wiadomości, przenosząca prawo własności do obiektu wywołującego.

transformer::consume_message — Metoda

Pobiera wiadomość oferowanych wcześniej przez transformer i zarezerwowanych przez obiekt docelowy, przenosząca prawo własności do obiektu wywołującego.

transformer::link_target_notification — Metoda

Wywołania zwrotnego, który powiadamia, że nowy obiekt docelowy został powiązany z tym transformer bloku obsługi wiadomości.

transformer::propagate_message — Metoda

Asynchronicznie przekazuje komunikat z ISource bloku do tego transformer bloku obsługi wiadomości.Jest ono wywoływane przez propagate metodę, gdy wywoływany przez bloku źródłowego.

transformer::propagate_to_any_targets — Metoda

Wykonuje funkcję transformatora na komunikaty wejściowe.

transformer::release_message — Metoda

Zwalnia Poprzednia rezerwacja wiadomość. (Zastępuje source_block::release_message.)

transformer::reserve_message — Metoda

Zastrzega sobie wiadomości oferowanych wcześniej przez to transformer bloku obsługi wiadomości. (Zastępuje source_block::reserve_message.)

transformer::resume_propagation — Metoda

Wznawia działanie propagacji po zastrzeżenie zostało zwolnione. (Zastępuje source_block::resume_propagation.)

transformer::send_message — Metoda

Synchronicznie przekazuje komunikat z ISource bloku do tego transformer bloku obsługi wiadomości.Jest ono wywoływane przez send metodę, gdy wywoływany przez bloku źródłowego.

transformer::supports_anonymous_source — Metoda

Zastępuje supports_anonymous_source metody, aby wskazać, że ten blok mogą akceptować wiadomości oferowanych przez źródło, który nie jest połączony. (Zastępuje ITarget::supports_anonymous_source.)

Uwagi

Aby uzyskać więcej informacji, zobacz Bloki komunikatów asynchronicznych.

Hierarchia dziedziczenia

ISource

ITarget

source_block

propagator_block

transformer

Wymagania

Nagłówek: agents.h

Przestrzeń nazw: concurrency

Zobacz też

Informacje

concurrency — Przestrzeń nazwy

call — Klasa