This documentation is archived and is not being maintained.

task_completion_event Class

The task_completion_event class allows you to delay the execution of a task until a condition is satisfied, or start a task in response to an external event.

   typename _ResultType
class task_completion_event;

class task_completion_event<void>;


The result type of this task_completion_event class.




task_completion_event::task_completion_event Constructor

Constructs a task_completion_event object.



task_completion_event::set Method

Overloaded. Sets the task completion event.

task_completion_event::set_exception Method

Propagates an exception to all tasks associated with this event.

Use a task created from a task completion event when your scenario requires you to create a task that will complete, and thereby have its continuations scheduled for execution, at some point in the future. The task_completion_event must have the same type as the task you create, and calling the set method on the task completion event with a value of that type will cause the associated task to complete, and provide that value as a result to its continuations.

If the task completion event is never signaled, any tasks created from it will be canceled when it is destructed.

task_completion_event behaves like a smart pointer, and should be passed by value.


Header: ppltasks.h

Namespace: concurrency