multitype_join Class
A multitype_join messaging block is a multi-source, single-target messaging block that combines together messages of different types from each of its sources and offers a tuple of the combined messages to its targets.
template<
typename _Type,
join_type _Jtype = non_greedy
>
class multitype_join: public ISource<typename _Unwrap<_Type>::type>;
Parameters
_Type
The tuple payload type of the messages joined and propagated by the block._Jtype
The kind of join block this is, either greedy or non_greedy
Members
Public Typedefs
Name |
Description |
---|---|
type |
A type alias for _Type. |
Public Constructors
Name |
Description |
---|---|
Overloaded. Constructs a multitype_join messaging block. |
|
Destroys the multitype_join messaging block. |
Public Methods
Name |
Description |
---|---|
Accepts a message that was offered by this multitype_join block, transferring ownership to the caller. |
|
Acquires a reference count on this multitype_join messaging block, to prevent deletion. |
|
Consumes a message previously offered by the multitype_join messaging block and successfully reserved by the target, transferring ownership to the caller. |
|
Links a target block to this multitype_join messaging block. |
|
Releases a previous successful message reservation. |
|
Releases a reference count on this multiple_join messaging block. |
|
Reserves a message previously offered by this multitype_join messaging block. |
|
Unlinks a target block from this multitype_join messaging block. |
|
Unlinks all targets from this multitype_join messaging block. (Overrides ISource::unlink_targets.) |
Remarks
For more information, see Asynchronous Message Blocks.
Inheritance Hierarchy
multitype_join
Requirements
Header: agents.h
Namespace: concurrency