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 | #ifndef BOOST_TR1_TYPE_TRAITS_HPP_INCLUDED |
7 | # define BOOST_TR1_TYPE_TRAITS_HPP_INCLUDED |
8 | # include <boost/tr1/detail/config.hpp> |
9 | |
10 | #ifdef BOOST_HAS_TR1_TYPE_TRAITS |
11 | |
12 | # if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT) |
13 | # include_next BOOST_TR1_HEADER(type_traits) |
14 | # else |
15 | # include <boost/tr1/detail/config_all.hpp> |
16 | # include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(type_traits)) |
17 | # endif |
18 | |
19 | #else |
20 | // Boost Type Traits: |
21 | #include <boost/type_traits.hpp> |
22 | #include <boost/type_traits/is_base_of_tr1.hpp> |
23 | |
24 | namespace std { namespace tr1{ |
25 | |
26 | using ::boost::integral_constant; |
27 | using ::boost::true_type; |
28 | using ::boost::false_type; |
29 | using ::boost::is_void; |
30 | using ::boost::is_integral; |
31 | using ::boost::is_floating_point; |
32 | using ::boost::is_array; |
33 | using ::boost::is_pointer; |
34 | using ::boost::is_reference; |
35 | using ::boost::is_member_object_pointer; |
36 | using ::boost::is_member_function_pointer; |
37 | using ::boost::is_enum; |
38 | using ::boost::is_union; |
39 | using ::boost::is_class; |
40 | using ::boost::is_function; |
41 | using ::boost::is_arithmetic; |
42 | using ::boost::is_fundamental; |
43 | using ::boost::is_object; |
44 | using ::boost::is_scalar; |
45 | using ::boost::is_compound; |
46 | using ::boost::is_member_pointer; |
47 | using ::boost::is_const; |
48 | using ::boost::is_volatile; |
49 | using ::boost::is_pod; |
50 | using ::boost::is_empty; |
51 | using ::boost::is_polymorphic; |
52 | using ::boost::is_abstract; |
53 | using ::boost::has_trivial_constructor; |
54 | using ::boost::has_trivial_copy; |
55 | using ::boost::has_trivial_assign; |
56 | using ::boost::has_trivial_destructor; |
57 | using ::boost::has_nothrow_constructor; |
58 | using ::boost::has_nothrow_copy; |
59 | using ::boost::has_nothrow_assign; |
60 | using ::boost::has_virtual_destructor; |
61 | using ::boost::is_signed; |
62 | using ::boost::is_unsigned; |
63 | using ::boost::alignment_of; |
64 | using ::boost::rank; |
65 | using ::boost::extent; |
66 | using ::boost::is_same; |
67 | using ::boost::tr1::is_base_of; |
68 | using ::boost::is_convertible; |
69 | using ::boost::remove_const; |
70 | using ::boost::remove_volatile; |
71 | using ::boost::remove_cv; |
72 | using ::boost::add_const; |
73 | using ::boost::add_volatile; |
74 | using ::boost::add_cv; |
75 | using ::boost::remove_reference; |
76 | using ::boost::add_reference; |
77 | using ::boost::remove_extent; |
78 | using ::boost::remove_all_extents; |
79 | using ::boost::remove_pointer; |
80 | using ::boost::add_pointer; |
81 | using ::boost::aligned_storage; |
82 | |
83 | } } |
84 | |
85 | #endif |
86 | |
87 | #endif |
88 | |