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.