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)
7 #include <boost/tr1/detail/config_all.hpp>
9 #if (!defined(BOOST_TR1_TYPE_TRAITS_INCLUDED) || defined(BOOST_TR1_NO_RECURSION)) && defined(BOOST_HAS_CPP_0X)
10 #ifndef BOOST_TR1_TYPE_TRAITS_INCLUDED
11 # define BOOST_TR1_TYPE_TRAITS_INCLUDED
13 # ifdef BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
14 # define BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
15 # elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION)
16 # define BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
17 # elif !defined(BOOST_TR1_NO_RECURSION)
18 # define BOOST_TR1_NO_RECURSION
19 # define BOOST_TR1_NO_TYPE_TRAITS_RECURSION
21 # if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
22 # include_next <type_traits>
24 # include BOOST_TR1_STD_HEADER(type_traits)
26 #ifdef BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
27 # undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION3
28 #elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION2)
29 # undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION2
30 #elif defined(BOOST_TR1_NO_TYPE_TRAITS_RECURSION)
31 # undef BOOST_TR1_NO_RECURSION
32 # undef BOOST_TR1_NO_TYPE_TRAITS_RECURSION
36 #if !defined(BOOST_TR1_FULL_TYPE_TRAITS_INCLUDED) && !defined(BOOST_TR1_NO_RECURSION)
37 # define BOOST_TR1_FULL_TYPE_TRAITS_INCLUDED
38 # define BOOST_TR1_NO_RECURSION
39 # include <boost/tr1/type_traits.hpp>
40 # undef BOOST_TR1_NO_RECURSION