7#ifndef FMTTASK_H_INCLUDED
8#define FMTTASK_H_INCLUDED
11#include <boost/thread/recursive_mutex.hpp>
49 std::vector<size_t>
splitwork(
int numberoftasks,
const int& totalworksize)
const;
75 virtual std::unique_ptr<FMTtask>
clone()
const;
80 virtual std::vector<std::unique_ptr<FMTtask>>
split(
const unsigned int& numberoftasks)
const;
85 virtual std::unique_ptr<FMTtask>
spawn();
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTobject.hpp:50
Definition: FMTtask.hpp:28
virtual std::unique_ptr< FMTtask > spawn()
FMTtask(const FMTtask &rhs)
std::vector< size_t > splitwork(int numberoftasks, const int &totalworksize) const
virtual std::unique_ptr< FMTtask > clone() const
virtual ~FMTtask()=default
void setstatus(bool status)
std::unique_ptr< Logging::FMTlogger > tasklogger
Definition: FMTtask.hpp:39
std::string getthreadid() const
static boost::recursive_mutex taskmutex
Recursive mutex for the task.
Definition: FMTtask.hpp:35
virtual std::vector< std::unique_ptr< FMTtask > > split(const unsigned int &numberoftasks) const
Namespace for parallel tasking may include multithreading / multiprocessing.
Definition: FMTopareaschedulertask.hpp:40