Exception handler feature implementation. More...
#include <exception_handler_feature.hpp>
Public Types | |
typedef base_type::threading_model | threading_model |
Threading model being used. More... | |
typedef base_type::final_type | final_type |
Final logger type. More... | |
typedef boost::log::aux::light_function < void() > | exception_handler_type |
Exception handler function type. More... | |
typedef strictest_lock < typename base_type::swap_lock, boost::log::aux::exclusive_lock_guard < threading_model > >::type | swap_lock |
Lock requirement for the swap_unlocked method. More... | |
Public Member Functions | |
basic_exception_handler_logger () | |
Default constructor. More... | |
basic_exception_handler_logger (basic_exception_handler_logger const &that) | |
Copy constructor. More... | |
basic_exception_handler_logger (BOOST_RV_REF(basic_exception_handler_logger) that) | |
Move constructor. More... | |
template<typename ArgsT > | |
basic_exception_handler_logger (ArgsT const &args) | |
Constructor with arguments. More... | |
template<typename HandlerT > | |
void | set_exception_handler (HandlerT const &handler) |
The method sets exception handler function. More... | |
Protected Member Functions | |
template<typename ArgsT > | |
record | open_record_unlocked (ArgsT const &args) |
Unlocked open_record . More... | |
void | push_record_unlocked (BOOST_RV_REF(record) rec) |
Unlocked push_record . More... | |
void | swap_unlocked (basic_exception_handler_logger &that) |
Unlocked swap. More... | |
Exception handler feature implementation.
typedef boost::log::aux::light_function< void () > boost::sources::basic_exception_handler_logger< BaseT >::exception_handler_type |
Exception handler function type.
typedef base_type::final_type boost::sources::basic_exception_handler_logger< BaseT >::final_type |
Final logger type.
typedef strictest_lock< typename base_type::swap_lock, boost::log::aux::exclusive_lock_guard< threading_model > >::type boost::sources::basic_exception_handler_logger< BaseT >::swap_lock |
Lock requirement for the swap_unlocked method.
typedef base_type::threading_model boost::sources::basic_exception_handler_logger< BaseT >::threading_model |
Threading model being used.
|
inline |
Default constructor.
The constructed logger does not have an exception handler.
|
inline |
Copy constructor.
|
inline |
Move constructor.
|
inlineexplicit |
Constructor with arguments.
Passes arguments to other features.
|
inlineprotected |
Unlocked open_record
.
References boost::expressions::record.
|
inlineprotected |
Unlocked push_record
.
References boost::move().
|
inline |
The method sets exception handler function.
The function will be called with no arguments in case if an exception occurs during either open_record
or push_record
method execution. Since exception handler is called from a catch
statement, the exception can be rethrown in order to determine its type.
By default no handler is installed, thus any exception is propagated as usual.
utility/exception_handler.hpp
handler | Exception handling function |
References boost::lock().
|
inlineprotected |
Unlocked swap.