| STLdoc
    STLdocumentation | 
The task_handle class represents an individual parallel work item. It encapsulates the instructions and the data required to execute a piece of work.  
 More...
#include <ppl.h>
 
  
 | Public Member Functions | |
| task_handle (const _Function &_Func) | |
| Constructs a new task_handleobject. The work of the task is performed by invoking the function specified as a parameter to the constructor.  More... | |
| ~task_handle () | |
| Destroys the task_handleobject.  More... | |
| void | operator() () const | 
| The function call operator that the runtime invokes to perform the work of the task handle.  More... | |
|  Public Member Functions inherited from Concurrency::details::_UnrealizedChore | |
| _UnrealizedChore () | |
| virtual | ~_UnrealizedChore () | 
| void | _Invoke () | 
| void | _SetDetached (bool _FDetached) | 
| Concurrency::details::_TaskCollectionBase * | _OwningCollection () const | 
| void | _SetRuntimeOwnsLifetime (bool fValue) | 
| bool | _GetRuntimeOwnsLifetime () const | 
| void | _PrepareSteal (ContextBase *_PContext) | 
|  Public Member Functions inherited from Concurrency::details::_AllocBase | |
| void * | operator new (size_t _Size) | 
| void | operator delete (void *_Ptr) throw () | 
| void * | operator new (size_t _Size, const std::nothrow_t &) throw () | 
| void | operator delete (void *_Ptr, const std::nothrow_t &) throw () | 
| void * | operator new[] (size_t _Size) | 
| void | operator delete[] (void *_Ptr) throw () | 
| void * | operator new[] (size_t _Size, const std::nothrow_t &_No_throw) throw () | 
| void | operator delete[] (void *_Ptr, const std::nothrow_t &_No_throw) throw () | 
| void * | operator new (size_t, void *_Location) throw () | 
| void | operator delete (void *, void *) throw () | 
| void *__cdecl | operator new[] (size_t, void *_Location) throw () | 
| void __cdecl | operator delete[] (void *, void *) throw () | 
| Private Member Functions | |
| task_handle const & | operator= (task_handle const &) | 
| Private Attributes | |
| _Function | _M_function | 
| Friends | |
| class | task_group | 
| class | structured_task_group | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from Concurrency::details::_UnrealizedChore | |
| template<typename _ChoreType , typename _Function > | |
| static _ChoreType * | _InternalAlloc (const _Function &_Func) | 
|  Public Attributes inherited from Concurrency::details::_Chore | |
| TaskProc | m_pFunction | 
|  Protected Member Functions inherited from Concurrency::details::_UnrealizedChore | |
| _CRTIMP void | _CheckTaskCollection () | 
|  Protected Member Functions inherited from Concurrency::details::_Chore | |
| _Chore (TaskProc _PFunction) | |
| _Chore () | |
| virtual | ~_Chore () | 
|  Static Protected Member Functions inherited from Concurrency::details::_UnrealizedChore | |
| template<typename _ChoreType > | |
| static void __cdecl | _InvokeBridge (void *_PContext) | 
The task_handle class represents an individual parallel work item. It encapsulates the instructions and the data required to execute a piece of work. 
| _Function | The type of the function object that will be invoked to execute the work represented by the task_handleobject. | 
task_handle objects can be used in conjunction with a structured_task_group or a more general task_group object, to decompose work into parallel tasks. For more information, see Task Parallelism. 
Note that the creator of a task_handle object is responsible for maintaining the lifetime of the created task_handle object until it is no longer required by the Concurrency Runtime. Typically, this means that the task_handle object must not destruct until either the wait or run_and_wait method of the task_group or structured_task_group to which it is queued has been called.
task_handle objects are typically used in conjunction with C++ lambdas. Because you do not know the true type of the lambda, the make_task function is typically used to create a task_handle object.
The runtime creates a copy of the work function that you pass to a task_handle object. Therefore, any state changes that occur in a function object that you pass to a task_handle object will not appear in your copy of that function object.
| 
 | inline | 
Constructs a new task_handle object. The work of the task is performed by invoking the function specified as a parameter to the constructor. 
| _Func | The function that will be invoked to execute the work represented by the task_handleobject. This may be a lambda functor, a pointer to a function, or any object that supports a version of the function call operator with the signaturevoid operator()(). | 
The runtime creates a copy of the work function that you pass to the constructor. Therefore, any state changes that occur in a function object that you pass to a task_handle object will not appear in your copy of that function object. 
| 
 | inline | 
Destroys the task_handle object. 
| 
 | inline | 
The function call operator that the runtime invokes to perform the work of the task handle.
| 
 | private | 
| 
 | friend | 
| 
 | friend | 
| 
 | private | 
 1.8.8
 1.8.8