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::task_handle< _Function > Concurrency::task_handle< Concurrency::_Parallel_reduce_fixed_worker >

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

_CONCRTIMP 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
4201  :
4203  {
4204  }
#define NULL
Definition: vcruntime.h:236
::Concurrency::details::_TaskCollectionBase * _M_pTaskCollection
Definition: concrt.h:4269
virtual Concurrency::details::_UnrealizedChore::~_UnrealizedChore ( )
inlinevirtual
4205 {}

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
_CONCRTIMP void Concurrency::details::_UnrealizedChore::_CheckTaskCollection ( )
protected
bool Concurrency::details::_UnrealizedChore::_GetRuntimeOwnsLifetime ( ) const
inline
4233  {
4234  return _M_fRuntimeOwnsLifetime;
4235  }
bool _M_fRuntimeOwnsLifetime
Definition: concrt.h:4276
template<typename _ChoreType , typename _Function >
static _ChoreType* Concurrency::details::_UnrealizedChore::_InternalAlloc ( const _Function &  _Func)
inlinestatic
4240  {
4241  // 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
4242  _ChoreType * _Chore = new _ChoreType(_Func);
4243  _Chore->_M_fRuntimeOwnsLifetime = true;
4244  return _Chore;
4245  }
_Chore()
Definition: concrt.h:4180
static void Concurrency::details::_UnrealizedChore::_InternalFree ( _UnrealizedChore _PChore)
staticprivate
void Concurrency::details::_UnrealizedChore::_Invoke ( )
inline
4210  {
4211  _M_pChoreFunction(this);
4212  }
CHOREFUNC _M_pChoreFunction
Definition: concrt.h:4272
template<typename _ChoreType >
static void __cdecl Concurrency::details::_UnrealizedChore::_InvokeBridge ( void _PContext)
inlinestaticprotected
4254  {
4255  auto _PChore = static_cast<_ChoreType *>(_PContext);
4256  (*_PChore)();
4257  }
::Concurrency::details::_TaskCollectionBase* Concurrency::details::_UnrealizedChore::_OwningCollection ( ) const
inline
4219  {
4220  return _M_pTaskCollection;
4221  }
::Concurrency::details::_TaskCollectionBase * _M_pTaskCollection
Definition: concrt.h:4269
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
4226  {
4227  _M_fRuntimeOwnsLifetime = _FValue;
4228  }
bool _M_fRuntimeOwnsLifetime
Definition: concrt.h:4276

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: