We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

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.

   typename _Type,
   join_type _Jtype = non_greedy
class multitype_join: public ISource<typename _Unwrap<_Type>::type>;


The tuple payload type of the messages joined and propagated by the block.


The kind of join block this is, either greedy or non_greedy




A type alias for _Type.



multitype_join::multitype_join Constructor

Overloaded. Constructs a multitype_join messaging block.

multitype_join::~multitype_join Destructor

Destroys the multitype_join messaging block.



multitype_join::accept Method

Accepts a message that was offered by this multitype_join block, transferring ownership to the caller.

multitype_join::acquire_ref Method

Acquires a reference count on this multitype_join messaging block, to prevent deletion.

multitype_join::consume Method

Consumes a message previously offered by the multitype_join messaging block and successfully reserved by the target, transferring ownership to the caller.

multitype_join::link_target Method

Links a target block to this multitype_join messaging block.

multitype_join::release Method

Releases a previous successful message reservation.

multitype_join::release_ref Method

Releases a reference count on this multiple_join messaging block.

multitype_join::reserve Method

Reserves a message previously offered by this multitype_join messaging block.

multitype_join::unlink_target Method

Unlinks a target block from this multitype_join messaging block.

multitype_join::unlink_targets Method

Unlinks all targets from this multitype_join messaging block. (Overrides ISource::unlink_targets.)

For more information, see Asynchronous Message Blocks.

Header: agents.h

Namespace: concurrency