Sierra Toolkit
Version of the Day
|
Classes | |
class | sierra::ParallelThrowRegistry |
Class ParallelThrowRegistry is a registry of known parallel exceptions. For the negotiation of parallel exceptions, each parallel exception must be registered. The class serves as the registry and registrar for the exceptions. More... | |
class | sierra::ExParallel |
Class ExParallel implements the features of a parallel exception. It is a std::string which stores the exception description. It also provides "put to" (operator;lt&;lt&) functions for appending the description with information. More... | |
class | sierra::ExTemp< T > |
Template ExTemp takes a zero argument exception and makes it into a parallel throwable and put-to-able (<<) exception. This exception may be caught with either the base class T type or the template ExTemp<T> type. More... | |
class | sierra::runtime_user_error |
Class runtime_user_error ... More... | |
Typedefs | |
typedef ExTemp< std::exception > | sierra::Exception |
Defined in | |
typedef ExTemp< std::bad_exception > | sierra::BadException |
Defined in | |
typedef ExTemp< std::bad_alloc > | sierra::BadAlloc |
Defined in <new> | |
typedef ExTemp< std::bad_typeid > | sierra::BadTypeid |
Defined in <typeinfo> | |
typedef ExTemp< std::bad_cast > | sierra::BadCast |
Defined in <typeinfo> | |
typedef ExTemp1< std::ios_base::failure > | sierra::IosBaseFailure |
Defined in <ios> | |
typedef ExTemp1< std::logic_error > | sierra::LogicError |
Defined in <stdexcept> | |
typedef ExTemp1< std::domain_error > | sierra::DomainError |
Defined in <stdexcept> | |
typedef ExTemp1< std::invalid_argument > | sierra::InvalidArgument |
Defined in <stdexcept> | |
typedef ExTemp1< std::length_error > | sierra::LengthError |
Defined in <stdexcept> | |
typedef ExTemp1< std::out_of_range > | sierra::OutOfRange |
Defined in <stdexcept> | |
typedef ExTemp1< std::runtime_error > | sierra::RuntimeError |
Defined in <stdexcept> | |
typedef ExTemp1< std::range_error > | sierra::RangeError |
Defined in <stdexcept> | |
typedef ExTemp1< std::overflow_error > | sierra::OverflowError |
Defined in <stdexcept> | |
typedef ExTemp1< std::underflow_error > | sierra::UnderflowError |
Defined in <stdexcept> | |
typedef ExTemp1< runtime_user_error > | sierra::RuntimeUserError |
Functions | |
void | sierra::register_stl_parallel_exceptions () |
Member function register_stl_parallel_exceptions registers the stl exceptions with the parallel exception handler. | |
void | sierra::set_exception () |
Function set_exception is called on a single processor when an exception is caught. The next collective communication will propogate the exception to all processors. This flavor is called when an unknown exception (...) is caught. | |
void | sierra::set_exception (std::exception &x) |
Function set_exception is called on a single processor when an exception is caught. The next collective communication will propogate the exception to all processors. More... | |
void | sierra::set_exception (ExParallel &x) |
Function set_exception is called on a single processor when an exception is caught. The next collective communication will propogate the exception to all processors. More... | |
void | sierra::sierra_exception_throw () |
Member function sierra_exception_throw is called whenever a parallel exception is constructed. This acn be used as a breakpoint in a debugger if finding the magic throw symbol is too tricky. | |
void | sierra::throw_copy (const std::exception &x, const std::string &message) |
Function throw_copy throws a copy of the exception. The exception is located in the parallel exception registry. This exception is cloned and thrown using the parallel exception's throw_copy member function. More... | |
void | sierra::parallel_throw (MPI_Comm mpi_comm) |
Function parallel_throw throws a consistant exception in parallel. parallel_throw is called after the exception has been propagated to all processors. parallel_throw will decide which exception to rethrow in parallel on all processors. More... | |
void sierra::set_exception | ( | std::exception & | x | ) |
Function set_exception is called on a single processor when an exception is caught. The next collective communication will propogate the exception to all processors.
x | a std::exception reference to the base exception. |
Definition at line 116 of file Exception.cpp.
void sierra::set_exception | ( | ExParallel & | x | ) |
Function set_exception is called on a single processor when an exception is caught. The next collective communication will propogate the exception to all processors.
x | a std::exception reference to the parallel exception. |
Definition at line 136 of file Exception.cpp.
void sierra::throw_copy | ( | const std::exception & | x, |
const std::string & | message | ||
) |
Function throw_copy throws a copy of the exception. The exception is located in the parallel exception registry. This exception is cloned and thrown using the parallel exception's throw_copy member function.
If the exception cannot be located, an Exception parallel exception is thrown instead contained the message from the original exception from what().
x | a std::exception reference to the exception to be copied and thrown. |
message | a std::string const reference to a message to be appended to the exception's description. |
Definition at line 91 of file Exception.cpp.
void sierra::parallel_throw | ( | MPI_Comm | mpi_comm | ) |
Function parallel_throw throws a consistant exception in parallel. parallel_throw is called after the exception has been propagated to all processors. parallel_throw will decide which exception to rethrow in parallel on all processors.
mpi_comm | a MPI_Comm value of the communicator to talk over. |
Definition at line 180 of file Exception.cpp.