Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
exception_handler.hpp File Reference
#include <new>
#include <boost/mpl/bind.hpp>
#include <boost/mpl/quote.hpp>
#include <boost/mpl/fold.hpp>
#include <boost/mpl/placeholders.hpp>
#include <boost/mpl/has_xxx.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/log/detail/config.hpp>
#include <boost/log/utility/functional/nop.hpp>
#include <boost/log/detail/header.hpp>
#include <boost/log/detail/footer.hpp>
Include dependency graph for exception_handler.hpp:

Classes

class  boost::aux::eh_root< HandlerT >
 Root class for the exception handler class hierarchy. More...
 
class  boost::aux::eh_cons< ExceptionT, BaseT >
 A cons-list element of the exception handler class hierarchy. More...
 
struct  boost::aux::make_self_contained_exception_handler< EHT, HandlerT >
 
class  boost::exception_handler< SequenceT, HandlerT >
 An exception handler functional object. More...
 
class  boost::nothrow_exception_handler< SequenceT, HandlerT >
 A no-throw exception handler functional object. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::aux
 

Macros

#define BOOST_LOG_MAX_EXCEPTION_TYPES   10
 Maximum number of exception types that can be specified for exception handlers. More...
 
#define BOOST_LOG_MAKE_EXCEPTION_HANDLER_INTERNAL(z, n, data)
 

Functions

nop boost::make_exception_suppressor ()
 The function creates an empty exception handler that effectively suppresses any exception. More...
 
template<typename HandlerT >
lazy_enable_if
< aux::has_exception_types
< HandlerT >
, aux::make_self_contained_exception_handler
< exception_handler, HandlerT >
>::type 
boost::make_exception_handler (HandlerT const &handler)
 
template<typename HandlerT >
lazy_enable_if
< aux::has_exception_types
< HandlerT >
, aux::make_self_contained_exception_handler
< nothrow_exception_handler,
HandlerT >>::type 
boost::make_exception_handler (HandlerT const &handler, std::nothrow_t const &)
 

Detailed Description

Author
Andrey Semashev
Date
12.07.2009

This header contains tools for exception handlers support in different parts of the library.

Macro Definition Documentation

#define BOOST_LOG_MAKE_EXCEPTION_HANDLER_INTERNAL (   z,
  n,
  data 
)
Value:
template< BOOST_PP_ENUM_PARAMS(n, typename T), typename HandlerT >\
inline exception_handler<\
BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
HandlerT\
> make_exception_handler(HandlerT const& handler)\
{\
typedef exception_handler<\
BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
HandlerT\
> eh_t;\
return eh_t(handler);\
}\
template< BOOST_PP_ENUM_PARAMS(n, typename T), typename HandlerT >\
inline nothrow_exception_handler<\
BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
HandlerT\
> make_exception_handler(HandlerT const& handler, std::nothrow_t const&)\
{\
typedef nothrow_exception_handler<\
BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
HandlerT\
> eh_t;\
return eh_t(handler);\
}
T
Definition: mem_fn_cc.hpp:25
#define n
Definition: register_functions_iterate.hpp:7
lazy_enable_if< aux::has_exception_types< HandlerT >, aux::make_self_contained_exception_handler< nothrow_exception_handler, HandlerT >>::type make_exception_handler(HandlerT const &handler, std::nothrow_t const &)
Definition: exception_handler.hpp:244
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
#define BOOST_PP_ENUM_PARAMS(count, param)
Definition: enum_params.hpp:26
#define BOOST_LOG_MAX_EXCEPTION_TYPES   10

Maximum number of exception types that can be specified for exception handlers.