Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
A transformer messaging block is a single-target, multi-source, ordered propagator_block which can accept messages of one type and is capable of storing an unbounded number of messages of a different type.
template<
class _Input,
class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;
Parameters
_Input
The payload type of the messages accepted by the buffer._Output
The payload type of the messages stored and propagated out by the buffer.
Members
Public Constructors
Name |
Description |
|---|---|
Overloaded. Constructs a transformer messaging block. |
|
Destroys the transformer messaging block. |
Protected Methods
Name |
Description |
|---|---|
Accepts a message that was offered by this transformer messaging block, transferring ownership to the caller. |
|
Consumes a message previously offered by the transformer and reserved by the target, transferring ownership to the caller. |
|
A callback that notifies that a new target has been linked to this transformer messaging block. |
|
Asynchronously passes a message from an ISource block to this transformer messaging block. It is invoked by the propagate method, when called by a source block. |
|
Executes the transformer function on the input messages. |
|
Releases a previous message reservation. (Overrides source_block::release_message.) |
|
Reserves a message previously offered by this transformer messaging block. (Overrides source_block::reserve_message.) |
|
Resumes propagation after a reservation has been released. (Overrides source_block::resume_propagation.) |
|
Synchronously passes a message from an ISource block to this transformer messaging block. It is invoked by the send method, when called by a source block. |
|
Overrides the supports_anonymous_source method to indicate that this block can accept messages offered to it by a source that is not linked. (Overrides ITarget::supports_anonymous_source.) |
Remarks
For more information, see Asynchronous Message Blocks.
Inheritance Hierarchy
transformer
Requirements
Header: agents.h
Namespace: concurrency