choice::choice Constructor
Constructs a choice messaging block.
explicit choice(
_Type _Tuple
);
choice(
Scheduler& _PScheduler,
_Type _Tuple
);
choice(
ScheduleGroup& _PScheduleGroup,
_Type _Tuple
);
choice(
choice && _Choice
);
Parameters
_Tuple
A tuple of sources for the choice._PScheduler
The Scheduler object within which the propagation task for the choice messaging block is scheduled._PScheduleGroup
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._Choice
A choice messaging block to copy from. Note that the original object is orphaned, making this a move constructor.
Remarks
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.
Requirements
Header: agents.h
Namespace: concurrency