![]() |
FMT 1.2.0
Forest management tools for forest planning
|
Main class for running concurrent tasks at the same time. More...
#include <FMTTaskHandler.h>
Public Member Functions | |
| FMTTaskHandler (const std::unique_ptr< FMTTask > &maintask, unsigned int maxthread=0) | |
| Construct the handler from a main task and a number of threads. | |
| ~FMTTaskHandler ()=default | |
| Default destructor for FMTTaskHandler. | |
| FMTTaskHandler (const FMTTask &maintask, unsigned int maxthread=0) | |
| Constructor for Python and R taking a FMTTask by reference. | |
| FMTTaskHandler ()=default | |
| Default constructor for FMTTaskHandler. | |
| FMTTaskHandler (const FMTTaskHandler &rhs) | |
| Default copy constructor for FMTTaskHandler. | |
| FMTTaskHandler & | operator= (const FMTTaskHandler &rhs) |
| Default copy assignment operator for FMTTaskHandler. | |
| const std::vector< std::unique_ptr< FMTTask > > & | getTasks () const |
| Return a reference to the tasks handled by the task handler. | |
| template<class ptrtype > | |
| const std::vector< const ptrtype * > | getTasksFromDynamicCast () const |
| Return the tasks dynamically cast to the requested pointer type. | |
| void | conccurentRun () |
| Use the split task virtual function to generate all the tasks and run them at the same time. | |
| void | onDemandRun () |
| Use the spawn task virtual function to generate tasks from the master task and add them to a list, removing completed tasks. | |
| void | passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger) override |
| Pass in the logger, overridden for the OsiSolverInterface. | |
Public Member Functions inherited from Core::FMTObject | |
| FMTObject () | |
| Default constructor for FMTObject. | |
| virtual | ~FMTObject () |
| Default virtual destructor for FMTObject. | |
| FMTObject (const std::unique_ptr< Exception::FMTExceptionHandler > exhandler) | |
| Construct a FMTObject passing in the exception handler of another FMTObject. | |
| FMTObject (const FMTObject &rhs) | |
| Copy constructor for FMTObject. | |
| FMTObject & | operator= (const FMTObject &rhs) |
| Copy assignment operator for FMTObject. | |
| virtual void | passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger) |
| Pass in the logger of another FMTObject. | |
| void | passInExceptionHandler (const std::unique_ptr< Exception::FMTExceptionHandler > &exhandler) |
| Pass in the exception handler of another FMTObject. | |
| void | redirectLogToFile (const std::string &location) |
| Redirect the log to a specific file, appending to it. | |
| virtual void | setDefaultLogger () |
| Create and set a default logger to the FMTObject. | |
| virtual void | setQuietLogger () |
| Create and set a quiet logger to the FMTObject. | |
| virtual void | setTaskLogger () |
| Create and set a task logger to the FMTObject. | |
| virtual void | setDebugLogger () |
| Create and set a debug logger to the FMTObject. | |
| void | setDefaultExceptionHandler () |
| Create and set a default exception handler to the FMTObject. | |
| void | setQuietExceptionHandler () |
| Create and set a quiet exception handler to the FMTObject. | |
| void | setDebugExceptionHandler () |
| Create and set a debug exception handler to the FMTObject. | |
| void | setFreeExceptionHandler () |
| Create and set a free exception handler to the FMTObject. | |
| void | disableNestedExceptions () |
| Disable the nested exception throw of the exception handler. | |
| void | enableNestedExceptions () |
| Enable the nested exception throw of the exception handler. | |
| void | setErrorsToWarnings (const std::vector< Exception::FMTexc > &errors) |
| Set a list of errors to be cast to warnings on the exception handler. | |
| void | setMaxWarningsBeforeSilenced (const size_t &maxwarningcount) |
| Set the number of warnings raised before being silenced. | |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::FMTObject | |
| static Logging::FMTLogger * | getLogger () |
| get a pointer to the actual logger. | |
| static Exception::FMTExceptionHandler * | getExceptionHandler () |
| get a pointer to the actual exception handler. | |
| static std::string | getRuntimeLocation () |
| Return the location of the FMT shared library. | |
| static unsigned long long | getAvailableMemory () |
| Return the available memory in bytes. | |
| static void | setTerminateStack () |
| will write the stack in the log when terminate called and raise a function failed. | |
| static void | setAbortStack () |
| will write the stack in the log when abort called with SIGABRT and raise a function failed. | |
Protected Member Functions inherited from Core::FMTObject | |
| template<class Archive > | |
| void | forceSave (Archive &ar, const unsigned int version) const |
| Force the serialization to save useful information, which the default FMTObject serialization does not. | |
| template<class Archive > | |
| void | forceLoad (Archive &ar, const unsigned int version) |
| Force the serialization to load useful information, which the default FMTObject serialization does not. | |
| void | checkSignals () const |
| Check if the user has sent a ctrl-c signal using boost::python to FMT. | |
| void | setCplHandler () |
| Pass the FMT exception handler to the GDAL exception handler (GDAL only). | |
Static Protected Member Functions inherited from Core::FMTObject | |
| static std::chrono::time_point< std::chrono::high_resolution_clock > | getClock () |
| Return a clock of the current time. | |
| template<class chrono > | |
| static double | getDuration (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
| Return the time elapsed since a start clock as a double. | |
| static std::string | getDurationInSeconds (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
| Return the time elapsed since a start clock in seconds as a string. | |
| static void | _logStack () |
| Log the stack trace... | |
| static void | _terminate () |
| Raise an error with the boost stacktrace. | |
| static void | _abort (int p_signal) |
| Raise an error with the boost stacktrace on abort. | |
Static Protected Attributes inherited from Core::FMTObject | |
| static std::unique_ptr< Exception::FMTExceptionHandler > | _exhandler |
| A shared pointer to the exception handler. | |
| static std::unique_ptr< Logging::FMTLogger > | _logger |
| A shared pointer to the logger. | |
Main class for running concurrent tasks at the same time.
It uses the virtual split function of FMTTask to split the task into multiple tasks and run them concurrently.
| Parallel::FMTTaskHandler::FMTTaskHandler | ( | const std::unique_ptr< FMTTask > & | maintask, |
| unsigned int | maxthread = 0 |
||
| ) |
Construct the handler from a main task and a number of threads.
| [in] | maintask | the main task. |
| [in] | maxthread | the maximum number of threads. |
|
default |
Default destructor for FMTTaskHandler.
| Parallel::FMTTaskHandler::FMTTaskHandler | ( | const FMTTask & | maintask, |
| unsigned int | maxthread = 0 |
||
| ) |
|
default |
Default constructor for FMTTaskHandler.
| Parallel::FMTTaskHandler::FMTTaskHandler | ( | const FMTTaskHandler & | rhs | ) |
Default copy constructor for FMTTaskHandler.
| [in] | rhs | the FMTTaskHandler to copy. |
| void Parallel::FMTTaskHandler::conccurentRun | ( | ) |
Use the split task virtual function to generate all the tasks and run them at the same time.
| const std::vector< std::unique_ptr< FMTTask > > & Parallel::FMTTaskHandler::getTasks | ( | ) | const |
Return a reference to the tasks handled by the task handler.
|
inline |
Return the tasks dynamically cast to the requested pointer type.
| ptrtype | the task pointer type. |
| void Parallel::FMTTaskHandler::onDemandRun | ( | ) |
Use the spawn task virtual function to generate tasks from the master task and add them to a list, removing completed tasks.
| FMTTaskHandler & Parallel::FMTTaskHandler::operator= | ( | const FMTTaskHandler & | rhs | ) |
Default copy assignment operator for FMTTaskHandler.
| [in] | rhs | the FMTTaskHandler to copy. |
|
overridevirtual |
Pass in the logger, overridden for the OsiSolverInterface.
| [in] | logger | the logger. |
Reimplemented from Core::FMTObject.