FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTWorkerTask.h
Go to the documentation of this file.
1#ifndef FMTWORKERTASK_Hm_included
2#define FMTWORKERTASK_Hm_included
3#include <memory>
4#include <boost/thread.hpp>
5
6namespace Parallel
7{
8 class FMTTask;
9 // DocString: FMTWorkerTask
14 {
15 public:
16 // DocString: FMTWorkerTask(std::unique_ptr<FMTTask>)
21 FMTWorkerTask(std::unique_ptr<FMTTask> t);
22 // DocString: FMTWorkerTask(const FMTWorkerTask&)
26 FMTWorkerTask(const FMTWorkerTask&) = delete;
27 // DocString: FMTWorkerTask::operator=(const FMTWorkerTask&)
32 // DocString: FMTWorkerTask(FMTWorkerTask&&)
37 // DocString: FMTWorkerTask::operator=(FMTWorkerTask&&)
42 // DocString: ~FMTWorkerTask()
47 // DocString: FMTWorkerTask::isDone
52 bool isDone() const;
53 // DocString: FMTWorkerTask::getThread
58 boost::thread& getThread();
59 private:
60 std::unique_ptr<FMTTask> m_task;
61 boost::thread m_worker;
62 std::atomic<bool> m_done;
63 };
64}
65#endif // FMTWORKERTASK_Hm_included
RAII wrapper running a FMTTask on its own boost thread and tracking its completion.
Definition: FMTWorkerTask.h:14
FMTWorkerTask & operator=(const FMTWorkerTask &)=delete
Deleted copy assignment operator for FMTWorkerTask.
~FMTWorkerTask()
Destructor for FMTWorkerTask, joining the worker thread.
FMTWorkerTask(const FMTWorkerTask &)=delete
Deleted copy constructor for FMTWorkerTask.
boost::thread & getThread()
Return the worker thread.
bool isDone() const
Return true if the task is done.
FMTWorkerTask(FMTWorkerTask &&)=delete
Deleted move constructor for FMTWorkerTask.
FMTWorkerTask & operator=(FMTWorkerTask &&)=delete
Deleted move assignment operator for FMTWorkerTask.
FMTWorkerTask(std::unique_ptr< FMTTask > t)
Construct a FMTWorkerTask from a task and start it on a worker thread.
Namespace for parallel tasking may include multithreading / multiprocessing.
Definition: FMTOpAreaSchedulerTask.h:40