|
1 // (C) Copyright John Maddock 2005. |
|
2 // Use, modification and distribution are subject to the |
|
3 // Boost Software License, Version 1.0. (See accompanying file |
|
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
|
5 // |
|
6 // This file exists to prevent std lib headers from accidentally |
|
7 // including a TR1 extention header; we must suppress this otherwise |
|
8 // we can end up with cyclic dependencies with some std lib implementations. |
|
9 // |
|
10 // Important: there are no include guards on this header for Borland C++ |
|
11 // The Borland version of <exception> has some peculiar circular dependencies |
|
12 // that requires multiple inclusion. Likewise for gcc (gcc-2.95.3 fix). |
|
13 // |
|
14 #ifdef BOOST_TR1_NO_exception_RECURSION2 |
|
15 # define BOOST_TR1_NO_exception_RECURSION3 |
|
16 #elif defined(BOOST_TR1_NO_exception_RECURSION) |
|
17 # define BOOST_TR1_NO_exception_RECURSION2 |
|
18 #elif !defined(BOOST_TR1_NO_RECURSION) |
|
19 # define BOOST_TR1_NO_RECURSION |
|
20 # define BOOST_TR1_NO_exception_RECURSION |
|
21 #endif |
|
22 |
|
23 # include <boost/tr1/detail/config_all.hpp> |
|
24 # ifdef BOOST_HAS_INCLUDE_NEXT |
|
25 # include_next <exception> |
|
26 # else |
|
27 # include BOOST_TR1_STD_HEADER(exception) |
|
28 # endif |
|
29 |
|
30 #ifdef BOOST_TR1_NO_exception_RECURSION3 |
|
31 # undef BOOST_TR1_NO_exception_RECURSION3 |
|
32 #elif defined(BOOST_TR1_NO_exception_RECURSION2) |
|
33 # undef BOOST_TR1_NO_exception_RECURSION2 |
|
34 #elif defined(BOOST_TR1_NO_exception_RECURSION) |
|
35 # undef BOOST_TR1_NO_exception_RECURSION |
|
36 # undef BOOST_TR1_NO_RECURSION |
|
37 #endif |
|
38 |
|
39 |