1//Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc.
2
3//Distributed under the Boost Software License, Version 1.0. (See accompanying
4//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef UUID_81522C0EB56511DFAB613DB0DFD72085
7#define UUID_81522C0EB56511DFAB613DB0DFD72085
8#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
9#pragma GCC system_header
10#endif
11#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
12#pragma warning(push,1)
13#endif
14
15#ifdef BOOST_NO_EXCEPTIONS
16# error This header requires exception handling to be enabled.
17#endif
18
19namespace
20boost
21 {
22 namespace
23 exception_detail
24 {
25 class clone_base;
26
27#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR
28 int clone_current_exception_non_intrusive( clone_base const * & cloned );
29#endif
30
31 namespace
32 clone_current_exception_result
33 {
34 int const success=0;
35 int const bad_alloc=1;
36 int const bad_exception=2;
37 int const not_supported=3;
38 }
39
40 inline
41 int
42 clone_current_exception( clone_base const * & cloned )
43 {
44#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR
45 return clone_current_exception_non_intrusive(cloned);
46#else
47 return clone_current_exception_result::not_supported;
48#endif
49 }
50 }
51 }
52
53#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
54#pragma warning(pop)
55#endif
56#endif
57