//  (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)


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

#if (!defined(BOOST_TR1_TYPE_TRAITS_INCLUDED) || defined(BOOST_TR1_NO_RECURSION)) && defined(BOOST_HAS_CPP_0X)
#ifndef BOOST_TR1_TYPE_TRAITS_INCLUDED
#  define BOOST_TR1_TYPE_TRAITS_INCLUDED
#endif
#  ifdef BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
#     define BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
#  elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION)
#     define BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
#  elif !defined(BOOST_TR1_NO_RECURSION)
#     define BOOST_TR1_NO_RECURSION
#     define BOOST_TR1_NO_TYPE_TRAITS_RECURSION
#  endif
#  ifdef BOOST_HAS_INCLUDE_NEXT
#     include_next <type_traits>
#  else
#     include BOOST_TR1_STD_HEADER(type_traits)
#  endif
#ifdef BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
#  undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
#elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION2)
#  undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
#elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION)
#     undef BOOST_TR1_NO_RECURSION
#     undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION
#  endif
#endif

#if !defined(BOOST_TR1_FULL_TYPE_TRAITS_INCLUDED) && !defined(BOOST_TR1_NO_RECURSION)
#  define BOOST_TR1_FULL_TYPE_TRAITS_INCLUDED
#  define BOOST_TR1_NO_RECURSION
#  include <boost/tr1/type_traits.hpp>
#  undef BOOST_TR1_NO_RECURSION
#endif


