![]() |
FMT 1.2.0
Forest management tools for forest planning
|
Base class of multiple FMT classes holding a shared exception handler pointer and logger. More...
#include <FMTObject.h>
Public Member Functions | |
| 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) |
Static Public Member Functions | |
| 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 | |
| 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 | |
| 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 | |
| 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. | |
Friends | |
| class | boost::serialization::access |
| Serialize the FMTObject for multiprocessing across multiple cpus (pickle in Python). | |
Base class of multiple FMT classes holding a shared exception handler pointer and logger.
Plays a major role in exception handling and ctrl-c signals for boost::python, and provides utility functions for mask validation and runtime location.
| Core::FMTObject::FMTObject | ( | ) |
Default constructor for FMTObject.
|
virtual |
Default virtual destructor for FMTObject.
| Core::FMTObject::FMTObject | ( | const std::unique_ptr< Exception::FMTExceptionHandler > | exhandler | ) |
| Core::FMTObject::FMTObject | ( | const FMTObject & | rhs | ) |
|
staticprotected |
Raise an error with the boost stacktrace on abort.
| [in] | p_signal | the signal for abort. |
|
staticprotected |
Log the stack trace...
|
staticprotected |
Raise an error with the boost stacktrace.
|
protected |
Check if the user has sent a ctrl-c signal using boost::python to FMT.
| void Core::FMTObject::disableNestedExceptions | ( | ) |
Disable the nested exception throw of the exception handler.
| void Core::FMTObject::enableNestedExceptions | ( | ) |
Enable the nested exception throw of the exception handler.
|
inlineprotected |
Force the serialization to load useful information, which the default FMTObject serialization does not.
| Archive | the archive type. |
| [in,out] | ar | the archive to load from. |
| [in] | version | the serialization version. |
|
inlineprotected |
Force the serialization to save useful information, which the default FMTObject serialization does not.
| Archive | the archive type. |
| [in,out] | ar | the archive to save to. |
| [in] | version | the serialization version. |
|
static |
Return the available memory in bytes.
|
staticprotected |
Return a clock of the current time.
|
staticprotected |
Return the time elapsed since a start clock as a double.
| chrono | the duration type. |
| [in] | startclock | the start clock. |
|
staticprotected |
Return the time elapsed since a start clock in seconds as a string.
| [in] | startclock | the start clock. |
|
static |
get a pointer to the actual exception handler.
|
static |
get a pointer to the actual logger.
|
static |
Return the location of the FMT shared library.
| void Core::FMTObject::passInExceptionHandler | ( | const std::unique_ptr< Exception::FMTExceptionHandler > & | exhandler | ) |
Pass in the exception handler of another FMTObject.
| [in] | exhandler | the exception handler to pass in. |
|
virtual |
Pass in the logger of another FMTObject.
| [in] | logger | the logger to pass in. |
Reimplemented in Models::FMTLpSolver, Parallel::FMTOpAreaSchedulerTask, Parallel::FMTPlanningTask, Parallel::FMTReplanningTask, Models::FMTSrModel, and Parallel::FMTTaskHandler.
| void Core::FMTObject::redirectLogToFile | ( | const std::string & | location | ) |
Redirect the log to a specific file, appending to it.
| [in] | location | the file to redirect the log to. |
|
inline |
|
static |
will write the stack in the log when abort called with SIGABRT and raise a function failed.
|
protected |
Pass the FMT exception handler to the GDAL exception handler (GDAL only).
| void Core::FMTObject::setDebugExceptionHandler | ( | ) |
Create and set a debug exception handler to the FMTObject.
|
virtual |
Create and set a debug logger to the FMTObject.
| void Core::FMTObject::setDefaultExceptionHandler | ( | ) |
Create and set a default exception handler to the FMTObject.
|
virtual |
Create and set a default logger to the FMTObject.
| void Core::FMTObject::setErrorsToWarnings | ( | const std::vector< Exception::FMTexc > & | errors | ) |
Set a list of errors to be cast to warnings on the exception handler.
| [in] | errors | the errors to treat as warnings. |
| void Core::FMTObject::setFreeExceptionHandler | ( | ) |
Create and set a free exception handler to the FMTObject.
| void Core::FMTObject::setMaxWarningsBeforeSilenced | ( | const size_t & | maxwarningcount | ) |
Set the number of warnings raised before being silenced.
| [in] | maxwarningcount | the maximum warning count. |
| void Core::FMTObject::setQuietExceptionHandler | ( | ) |
Create and set a quiet exception handler to the FMTObject.
|
virtual |
Create and set a quiet logger to the FMTObject.
|
virtual |
Create and set a task logger to the FMTObject.
|
static |
will write the stack in the log when terminate called and raise a function failed.
|
friend |
|
staticprotected |
A shared pointer to the exception handler.
|
staticprotected |
A shared pointer to the logger.