molecular
Public Types | Public Member Functions | List of all members
molecular::util::ManualTaskQueue< TMutex > Class Template Reference

Task queue that runs tasks on calls to RunOneTask. More...

#include <ManualTaskQueue.h>

Inheritance diagram for molecular::util::ManualTaskQueue< TMutex >:
molecular::util::NonCopyable

Public Types

typedef AtomicCounter FinishFlag
 
using Task = TaskT< FinishFlag >
 
using FunctionTask = FunctionTaskT< FinishFlag >
 
using Mutex = TMutex
 

Public Member Functions

 ~ManualTaskQueue ()
 
void RunOneTask ()
 
bool Empty ()
 
void EnqueueTask (Task *task)
 
void EnqueueTask (Task *, FinishFlag &)
 
void EnqueueTask (std::function< void()> &&function, FinishFlag &flag)
 Asynchronously execute function. More...
 
void EnqueueTask (std::function< void()> &&function)
 Asynchronously execute function. More...
 
bool IsFinished (FinishFlag &flag)
 

Detailed Description

template<class TMutex>
class molecular::util::ManualTaskQueue< TMutex >

Task queue that runs tasks on calls to RunOneTask.

See also
DummyTaskDispatcher

Member Typedef Documentation

template<class TMutex>
typedef AtomicCounter molecular::util::ManualTaskQueue< TMutex >::FinishFlag
template<class TMutex>
using molecular::util::ManualTaskQueue< TMutex >::FunctionTask = FunctionTaskT<FinishFlag>
template<class TMutex>
using molecular::util::ManualTaskQueue< TMutex >::Mutex = TMutex
template<class TMutex>
using molecular::util::ManualTaskQueue< TMutex >::Task = TaskT<FinishFlag>

Constructor & Destructor Documentation

template<class TMutex >
molecular::util::ManualTaskQueue< TMutex >::~ManualTaskQueue ( )

Member Function Documentation

template<class TMutex>
bool molecular::util::ManualTaskQueue< TMutex >::Empty ( )
inline
template<class TMutex>
void molecular::util::ManualTaskQueue< TMutex >::EnqueueTask ( Task task)
inline
Deprecated:
Use std::function interface instead.
template<class TMutex>
void molecular::util::ManualTaskQueue< TMutex >::EnqueueTask ( Task ,
FinishFlag  
)
inline
Deprecated:
Use std::function interface instead.
template<class TMutex>
void molecular::util::ManualTaskQueue< TMutex >::EnqueueTask ( std::function< void()> &&  function,
FinishFlag flag 
)
inline

Asynchronously execute function.

template<class TMutex>
void molecular::util::ManualTaskQueue< TMutex >::EnqueueTask ( std::function< void()> &&  function)
inline

Asynchronously execute function.

template<class TMutex >
bool molecular::util::ManualTaskQueue< TMutex >::IsFinished ( FinishFlag flag)
template<class TMutex >
void molecular::util::ManualTaskQueue< TMutex >::RunOneTask ( )

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