22 #include <gtsam/config.h> 24 #include <gtsam/dllexport.h> 31 #include <tbb/tbb_allocator.h> 32 #include <tbb/scalable_allocator.h> 39 template<
class DERIVED>
44 typedef std::exception
Base;
47 typedef std::basic_string<char, std::char_traits<char>,
48 tbb::tbb_allocator<char> >
String;
49 typedef tbb::tbb_allocator<char>
Allocator;
67 Base(other), dynamic_(false) {
72 dynamic_(false), description_(
73 String(description.begin(), description.
end())) {
81 const char*
what() const noexcept
override {
82 return description_ ? description_->c_str() :
"";
106 InvalidArgumentThreadsafe> {
std::optional< String > description_
Optional description.
InvalidArgumentThreadsafe(const std::string &description)
Construct with a string describing the exception.
std::allocator< char > Allocator
~ThreadsafeException() noexcept override
Default destructor doesn't have the noexcept.
OutOfRangeThreadsafe(const std::string &description)
Construct with a string describing the exception.
bool dynamic_
Whether this object was moved.
ThreadsafeException(const ThreadsafeException &other)
Copy constructor is protected - may only be created from derived classes.
CholeskyFailed() noexcept
Thread-safe runtime error exception.
Base exception type that uses tbb_allocator if GTSAM is compiled with TBB.
RuntimeErrorThreadsafe(const std::string &description)
Construct with a string describing the exception.
Thread-safe invalid argument exception.
ThreadsafeException(const std::string &description)
Construct with description string.
~CholeskyFailed() noexcept override
static EIGEN_DEPRECATED const end_t end
Thread-safe out of range exception.
Indicate Cholesky factorization failure.
ThreadsafeException()
Default constructor is protected - may only be created from derived classes.
const char * what() const noexcept override