7#ifndef FMTTASKHANDLER_H_INCLUDED
8#define FMTTASKHANDLER_H_INCLUDED
25 unsigned int maxnumberofthread;
28 std::vector<std::unique_ptr<FMTtask>>alltasks;
38 void finalize(std::unique_ptr<FMTtask>& lasttask);
43 void logtasktime(
const std::chrono::time_point<std::chrono::high_resolution_clock>& startime)
const;
50 unsigned int maxthread = 0);
61 unsigned int maxthread = 0);
81 const std::vector<std::unique_ptr<FMTtask>>&
gettasks()
const;
86 template<
class ptrtype>
89 std::vector<const ptrtype*>castedptr;
90 for (
const std::unique_ptr<FMTtask>& task : alltasks)
92 castedptr.push_back(
dynamic_cast<const ptrtype*
>(task.get()));
112 void passinlogger(
const std::shared_ptr<Logging::FMTlogger>& logger)
override;
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTobject.hpp:50
Definition: FMTtask.hpp:28
Definition: FMTtaskhandler.hpp:22
FMTtaskhandler(const FMTtask &maintask, unsigned int maxthread=0)
FMTtaskhandler(const std::unique_ptr< FMTtask > &maintask, unsigned int maxthread=0)
FMTtaskhandler(const FMTtaskhandler &rhs)
const std::vector< const ptrtype * > gettasksfromdynamiccast() const
Definition: FMTtaskhandler.hpp:87
void passinlogger(const std::shared_ptr< Logging::FMTlogger > &logger) override
~FMTtaskhandler()=default
const std::vector< std::unique_ptr< FMTtask > > & gettasks() const
Namespace for parallel tasking may include multithreading / multiprocessing.
Definition: FMTopareaschedulertask.hpp:40