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 |
---|---|
Przeciążone.Konstrukcje transformer bloku obsługi wiadomości. |
|
Niszczy transformer bloku obsługi wiadomości. |
Metody chronione
Nazwa |
Opis |
---|---|
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. |
|
Pobiera wiadomość oferowanych wcześniej przez transformer i zarezerwowanych przez obiekt docelowy, przenosząca prawo własności do obiektu wywołującego. |
|
Wywołania zwrotnego, który powiadamia, że nowy obiekt docelowy został powiązany z tym transformer bloku obsługi wiadomości. |
|
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. |
|
Wykonuje funkcję transformatora na komunikaty wejściowe. |
|
Zwalnia Poprzednia rezerwacja wiadomość. (Zastępuje source_block::release_message.) |
|
Zastrzega sobie wiadomości oferowanych wcześniej przez to transformer bloku obsługi wiadomości. (Zastępuje source_block::reserve_message.) |
|
Wznawia działanie propagacji po zastrzeżenie zostało zwolnione. (Zastępuje source_block::resume_propagation.) |
|
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. |
|
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
transformer
Wymagania
Nagłówek: agents.h
Przestrzeń nazw: concurrency