libosmscout  0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules
osmscout::AsyncWorker Class Reference

Async worker provides simple tool for providing asynchronous method calls. More...

#include <AsyncWorker.h>

Public Member Functions

 AsyncWorker (AsyncWorker &&)=delete
 
 AsyncWorker (const AsyncWorker &)=delete
 
 AsyncWorker (const std::string &name)
 
void DeleteLater ()
 
std::thread::id GetThreadId () const
 
void Loop ()
 
AsyncWorkeroperator= (AsyncWorker &&)=delete
 
AsyncWorkeroperator= (const AsyncWorker &)=delete
 
void ThreadAssert () const
 
virtual ~AsyncWorker ()
 

Protected Member Functions

template<typename T >
CancelableFuture< T > Async (const std::function< T(Breaker &)> &task)
 

Detailed Description

Async worker provides simple tool for providing asynchronous method calls.

Functions executed via Async method are executed in contex of worker thread. If all class fields are modified in context of worker thread, there is no need of synchronisation.

Constructor & Destructor Documentation

◆ AsyncWorker() [1/3]

osmscout::AsyncWorker::AsyncWorker ( const std::string &  name)
explicit

◆ ~AsyncWorker()

osmscout::AsyncWorker::~AsyncWorker ( )
virtual

◆ AsyncWorker() [2/3]

osmscout::AsyncWorker::AsyncWorker ( const AsyncWorker )
delete

◆ AsyncWorker() [3/3]

osmscout::AsyncWorker::AsyncWorker ( AsyncWorker &&  )
delete

Member Function Documentation

◆ Async()

template<typename T >
CancelableFuture<T> osmscout::AsyncWorker::Async ( const std::function< T(Breaker &)> &  task)
inlineprotected

◆ DeleteLater()

void osmscout::AsyncWorker::DeleteLater ( )

◆ GetThreadId()

std::thread::id osmscout::AsyncWorker::GetThreadId ( ) const
inline

◆ Loop()

void osmscout::AsyncWorker::Loop ( )

◆ operator=() [1/2]

AsyncWorker& osmscout::AsyncWorker::operator= ( AsyncWorker &&  )
delete

◆ operator=() [2/2]

AsyncWorker& osmscout::AsyncWorker::operator= ( const AsyncWorker )
delete

◆ ThreadAssert()

void osmscout::AsyncWorker::ThreadAssert ( ) const
inline

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