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

#include <pplwin.h>

Public Member Functions

 ~_PPLTaskChore ()
 
 _PPLTaskChore (TaskProc_t _Proc, void *_Param)
 
void _Schedule ()
 

Static Private Member Functions

static void __cdecl _Callback (void *_Args)
 

Private Attributes

_Threadpool_chore _M_Chore
 
TaskProc_t _M_proc
 
void_M_param
 

Constructor & Destructor Documentation

Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::~_PPLTaskChore ( )
inline
56  {
58  }
_CRTIMP2 void __cdecl _Release_chore(_Threadpool_chore *)
_Threadpool_chore _M_Chore
Definition: pplwin.h:44
Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_PPLTaskChore ( TaskProc_t  _Proc,
void _Param 
)
inline
60  : _M_Chore{&_Callback, this}, _M_proc(_Proc), _M_param(_Param)
61  {
62  }
static void __cdecl _Callback(void *_Args)
Definition: pplwin.h:48
_Threadpool_chore _M_Chore
Definition: pplwin.h:44

Member Function Documentation

static void __cdecl Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_Callback ( void _Args)
inlinestaticprivate
49  {
50  auto _Chore = ::std::unique_ptr<_PPLTaskChore>(static_cast<_PPLTaskChore*>(_Args));
51  _Chore->_M_proc(_Chore->_M_param);
52  }
_PPLTaskChore(TaskProc_t _Proc, void *_Param)
Definition: pplwin.h:60
void Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_Schedule ( )
inline
65  {
66  if (_Schedule_chore(&_M_Chore) != 0)
67  {
68  delete this;
69  _THROW_NCEE(::std::runtime_error, "Fail to schedule the chore!");
70  }
71  }
_Threadpool_chore _M_Chore
Definition: pplwin.h:44
_CRTIMP2 int __cdecl _Schedule_chore(_Threadpool_chore *)
#define _THROW_NCEE(x, y)
Definition: xstddef:78

Member Data Documentation

_Threadpool_chore Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_M_Chore
private
void* Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_M_param
private
TaskProc_t Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_M_proc
private

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