Constructs a choice messaging block.
A tuple of sources for the choice.
The Scheduler object within which the propagation task for the choice messaging block is scheduled.
The ScheduleGroup object within which the propagation task for the choice messaging block is scheduled. The Scheduler object used is implied by the schedule group.
A choice messaging block to copy from. Note that the original object is orphaned, making this a move constructor.
The runtime uses the default scheduler if you do not specify the _PScheduler or _PScheduleGroup parameters.
Move construction is not performed under a lock, which means that it is up to the user to make sure that there are no light-weight tasks in flight at the time of moving. Otherwise, numerous races can occur, leading to exceptions or inconsistent state.