STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
Concurrency::details::_UnrealizedChore Class Reference

#include <concrt.h>

Inheritance diagram for Concurrency::details::_UnrealizedChore:
Concurrency::details::_Chore Concurrency::details::_AllocBase Concurrency::details::_TaskProcHandle Concurrency::task_handle< _Function > Concurrency::task_handle< Concurrency::_Parallel_reduce_fixed_worker > Concurrency::details::_PPLTaskHandle< _ReturnType, _InitialTaskHandle< _InternalReturnType, _Function, _TypeSelection >, details::_UnrealizedChore_t > Concurrency::details::_ContinuationTaskHandleBase Concurrency::task< _ReturnType >::_InitialTaskHandle< _InternalReturnType, _Function, _TypeSelection > Concurrency::details::_PPLTaskHandle< details::_NormalizeVoidToUnitType< _ContinuationReturnType >::_Type, _ContinuationTaskHandle< _InternalReturnType, _ContinuationReturnType, _Function, _IsTaskBased, _TypeSelection >, details::_ContinuationTaskHandleBase > Concurrency::task< _ReturnType >::_ContinuationTaskHandle< _InternalReturnType, _ContinuationReturnType, _Function, _IsTaskBased, _TypeSelection >

Public Member Functions

 _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
voidoperator new (size_t _Size)
 
void operator delete (void *_Ptr) throw ()
 
voidoperator new (size_t _Size, const std::nothrow_t &) throw ()
 
void operator delete (void *_Ptr, const std::nothrow_t &) throw ()
 
voidoperator new[] (size_t _Size)
 
void operator delete[] (void *_Ptr) throw ()
 
voidoperator new[] (size_t _Size, const std::nothrow_t &_No_throw) throw ()
 
void operator delete[] (void *_Ptr, const std::nothrow_t &_No_throw) throw ()
 
voidoperator 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 ()
 

Static Public Member Functions

template<typename _ChoreType , typename _Function >
static _ChoreType * _InternalAlloc (const _Function &_Func)
 

Protected Member Functions

_CRTIMP void _CheckTaskCollection ()
 
- Protected Member Functions inherited from Concurrency::details::_Chore
 _Chore (TaskProc _PFunction)
 
 _Chore ()
 
virtual ~_Chore ()
 

Static Protected Member Functions

template<typename _ChoreType >
static void __cdecl _InvokeBridge (void *_PContext)
 

Private Types

typedef void(__cdecl * CHOREFUNC) (_UnrealizedChore *_PChore)
 

Private Member Functions

void _PrepareStealStructured (ContextBase *_PContext)
 
void _PrepareStealUnstructured (ContextBase *_PContext)
 
 __declspec (noinline) static void __cdecl _StructuredChoreWrapper(_UnrealizedChore *_PChore)
 
 __declspec (noinline) static void __cdecl _UnstructuredChoreWrapper(_UnrealizedChore *_PChore)
 

Static Private Member Functions

static void _InternalFree (_UnrealizedChore *_PChore)
 
static void __cdecl _CancelViaToken (::Concurrency::details::ContextBase *pContext)
 

Private Attributes

Concurrency::details::_TaskCollectionBase_M_pTaskCollection
 
CHOREFUNC _M_pChoreFunction
 
bool _M_fRuntimeOwnsLifetime
 
bool _M_fDetached
 

Friends

class _StructuredTaskCollection
 
class _TaskCollection
 

Additional Inherited Members

- Public Attributes inherited from Concurrency::details::_Chore
TaskProc m_pFunction
 

Member Typedef Documentation

typedef void(__cdecl * Concurrency::details::_UnrealizedChore::CHOREFUNC) (_UnrealizedChore *_PChore)
private

Constructor & Destructor Documentation

Concurrency::details::_UnrealizedChore::_UnrealizedChore ( )
inline
4323  :
4325  {
4326  }
#define NULL
Definition: crtdbg.h:30
Concurrency::details::_TaskCollectionBase * _M_pTaskCollection
Definition: concrt.h:4391
virtual Concurrency::details::_UnrealizedChore::~_UnrealizedChore ( )
inlinevirtual
4327 {}

Member Function Documentation

Concurrency::details::_UnrealizedChore::__declspec ( noinline  )
private
Concurrency::details::_UnrealizedChore::__declspec ( noinline  )
private
static void __cdecl Concurrency::details::_UnrealizedChore::_CancelViaToken ( ::Concurrency::details::ContextBase *  pContext)
staticprivate
_CRTIMP void Concurrency::details::_UnrealizedChore::_CheckTaskCollection ( )
protected
bool Concurrency::details::_UnrealizedChore::_GetRuntimeOwnsLifetime ( ) const
inline
4355  {
4356  return _M_fRuntimeOwnsLifetime;
4357  }
bool _M_fRuntimeOwnsLifetime
Definition: concrt.h:4398
template<typename _ChoreType , typename _Function >
static _ChoreType* Concurrency::details::_UnrealizedChore::_InternalAlloc ( const _Function &  _Func)
inlinestatic
4362  {
4363  // This is always invoked from the PPL layer by the user and can never be attached to the default scheduler. Therefore '_concrt_new' is not required here
4364  _ChoreType * _Chore = new _ChoreType(_Func);
4365  _Chore->_M_fRuntimeOwnsLifetime = true;
4366  return _Chore;
4367  }
_Chore()
Definition: concrt.h:4302
static void Concurrency::details::_UnrealizedChore::_InternalFree ( _UnrealizedChore _PChore)
staticprivate
void Concurrency::details::_UnrealizedChore::_Invoke ( )
inline
4332  {
4333  _M_pChoreFunction(this);
4334  }
CHOREFUNC _M_pChoreFunction
Definition: concrt.h:4394
template<typename _ChoreType >
static void __cdecl Concurrency::details::_UnrealizedChore::_InvokeBridge ( void _PContext)
inlinestaticprotected
4376  {
4377  auto _PChore = static_cast<_ChoreType *>(_PContext);
4378  (*_PChore)();
4379  }
Concurrency::details::_TaskCollectionBase* Concurrency::details::_UnrealizedChore::_OwningCollection ( ) const
inline
4341  {
4342  return _M_pTaskCollection;
4343  }
Concurrency::details::_TaskCollectionBase * _M_pTaskCollection
Definition: concrt.h:4391
void Concurrency::details::_UnrealizedChore::_PrepareSteal ( ContextBase *  _PContext)
void Concurrency::details::_UnrealizedChore::_PrepareStealStructured ( ContextBase *  _PContext)
private
void Concurrency::details::_UnrealizedChore::_PrepareStealUnstructured ( ContextBase *  _PContext)
private
void Concurrency::details::_UnrealizedChore::_SetDetached ( bool  _FDetached)
void Concurrency::details::_UnrealizedChore::_SetRuntimeOwnsLifetime ( bool  fValue)
inline
4348  {
4349  _M_fRuntimeOwnsLifetime = fValue;
4350  }
bool _M_fRuntimeOwnsLifetime
Definition: concrt.h:4398

Friends And Related Function Documentation

friend class _StructuredTaskCollection
friend
friend class _TaskCollection
friend

Member Data Documentation

bool Concurrency::details::_UnrealizedChore::_M_fDetached
private
bool Concurrency::details::_UnrealizedChore::_M_fRuntimeOwnsLifetime
private
CHOREFUNC Concurrency::details::_UnrealizedChore::_M_pChoreFunction
private
Concurrency::details::_TaskCollectionBase* Concurrency::details::_UnrealizedChore::_M_pTaskCollection
private

The documentation for this class was generated from the following file: