Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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