//  (C) Copyright John Maddock 2005.

//  Use, modification and distribution are subject to the

//  Boost Software License, Version 1.0. (See accompanying file

//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

//

//  This file exists to prevent std lib headers from accidentally

//  including a TR1 extention header; we must suppress this otherwise

//  we can end up with cyclic dependencies with some std lib implementations.

//

// Important: there are no include guards on this header for Borland C++

// The Borland version of <exception> has some peculiar circular dependencies

// that requires multiple inclusion.  Likewise for gcc (gcc-2.95.3 fix).

//

#ifdef BOOST_TR1_NO_exception_RECURSION2

#  define BOOST_TR1_NO_exception_RECURSION3

#elif defined(BOOST_TR1_NO_exception_RECURSION)

#  define BOOST_TR1_NO_exception_RECURSION2

#elif !defined(BOOST_TR1_NO_RECURSION)

#     define BOOST_TR1_NO_RECURSION

#     define BOOST_TR1_NO_exception_RECURSION

#endif



#  include <boost/tr1/detail/config_all.hpp>

#  ifdef BOOST_HAS_INCLUDE_NEXT

#     include_next <exception>

#  else

#     include BOOST_TR1_STD_HEADER(exception)

#  endif



#ifdef BOOST_TR1_NO_exception_RECURSION3

#  undef BOOST_TR1_NO_exception_RECURSION3

#elif defined(BOOST_TR1_NO_exception_RECURSION2)

#  undef BOOST_TR1_NO_exception_RECURSION2

#elif defined(BOOST_TR1_NO_exception_RECURSION)

#     undef BOOST_TR1_NO_exception_RECURSION

#     undef BOOST_TR1_NO_RECURSION

#endif





