void throw_exception_( E const & x, char const * current_function, char const * file, int line ) { throw_exception( set_info( set_info( set_info( enable_error_info(x), throw_function(current_function)), throw_file(file)), throw_line(line))); }
template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e ) { //All boost exceptions are required to derive from std::exception, //to ensure compatibility with BOOST_NO_EXCEPTIONS. throw_exception_assert_compatibility(e); #ifndef BOOST_EXCEPTION_DISABLE throw enable_current_exception(enable_error_info(e)); #else throw e; #endif }
BOOST_ATTRIBUTE_NORETURN void throw_exception_( E const & x, char const * current_function, char const * file, int line ) { boost::throw_exception( set_info( set_info( set_info( enable_error_info(x), throw_function(current_function)), throw_file(file)), throw_line(line))); }
BOOST_NOINLINE BOOST_ATTRIBUTE_NORETURN void throw_exception(const char* func, const char* file, int line, T0 const& arg0) { #if !defined(BOOST_EXCEPTION_DISABLE) boost::throw_exception ( set_info ( set_info ( set_info ( enable_error_info(Exception(arg0)), throw_function(func) ), throw_file(file) ), throw_line(line) ) ); #else boost::throw_exception(Exception(arg0)); #endif }