molecular
Public Types | Public Member Functions | List of all members
molecular::util::StdTaskQueue Class Reference

Uses std::thread to process background jobs. More...

#include <StdTaskQueue.h>

Inheritance diagram for molecular::util::StdTaskQueue:
molecular::util::NonCopyable

Public Types

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

Public Member Functions

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

Detailed Description

Uses std::thread to process background jobs.

Member Typedef Documentation

Constructor & Destructor Documentation

molecular::util::StdTaskQueue::StdTaskQueue ( )
molecular::util::StdTaskQueue::~StdTaskQueue ( )

Member Function Documentation

void molecular::util::StdTaskQueue::EnqueueTask ( Task task)
Deprecated:
Use std::function interface instead.
void molecular::util::StdTaskQueue::EnqueueTask ( Task task,
FinishFlag flag 
)
void molecular::util::StdTaskQueue::EnqueueTask ( std::function< void()> &&  function,
FinishFlag flag 
)
inline

Asynchronously execute function.

void molecular::util::StdTaskQueue::EnqueueTask ( std::function< void()> &&  function)
inline

Asynchronously execute function.

bool molecular::util::StdTaskQueue::IsFinished ( FinishFlag flag)
void molecular::util::StdTaskQueue::WaitUntilFinished ( FinishFlag flag)

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