Constructs a choice messaging block.
explicit choice( _Type _Tuple ); choice( Scheduler& _PScheduler, _Type _Tuple ); choice( ScheduleGroup& _PScheduleGroup, _Type _Tuple ); choice( choice && _Choice );
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.