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.