Chris@16: //Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc. Chris@16: Chris@16: //Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef UUID_81522C0EB56511DFAB613DB0DFD72085 Chris@16: #define UUID_81522C0EB56511DFAB613DB0DFD72085 Chris@16: #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma GCC system_header Chris@16: #endif Chris@16: #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma warning(push,1) Chris@16: #endif Chris@16: Chris@16: #ifdef BOOST_NO_EXCEPTIONS Chris@16: # error This header requires exception handling to be enabled. Chris@16: #endif Chris@16: Chris@16: namespace Chris@16: boost Chris@16: { Chris@16: namespace Chris@16: exception_detail Chris@16: { Chris@16: class clone_base; Chris@16: Chris@16: #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR Chris@16: int clone_current_exception_non_intrusive( clone_base const * & cloned ); Chris@16: #endif Chris@16: Chris@16: namespace Chris@16: clone_current_exception_result Chris@16: { Chris@16: int const success=0; Chris@16: int const bad_alloc=1; Chris@16: int const bad_exception=2; Chris@16: int const not_supported=3; Chris@16: } Chris@16: Chris@16: inline Chris@16: int Chris@16: clone_current_exception( clone_base const * & cloned ) Chris@16: { Chris@16: #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR Chris@16: return clone_current_exception_non_intrusive(cloned); Chris@16: #else Chris@16: return clone_current_exception_result::not_supported; Chris@16: #endif Chris@16: } Chris@16: } Chris@16: } Chris@16: Chris@16: #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) Chris@16: #pragma warning(pop) Chris@16: #endif Chris@16: #endif