1 // (C) Copyright John Maddock 2000. 2 // Use, modification and distribution are subject to the Boost Software License, 3 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 4 // http://www.boost.org/LICENSE_1_0.txt). 5 // 6 // See http://www.boost.org/libs/type_traits for most recent version including documentation. 7 8 // See boost/type_traits/*.hpp for full copyright notices. 9 10 #ifndef BOOST_TYPE_TRAITS_HPP 11 #define BOOST_TYPE_TRAITS_HPP 12 13 #include <boost/type_traits/add_const.hpp> 14 #include <boost/type_traits/add_cv.hpp> 15 #include <boost/type_traits/add_lvalue_reference.hpp> 16 #include <boost/type_traits/add_pointer.hpp> 17 #include <boost/type_traits/add_reference.hpp> 18 #include <boost/type_traits/add_rvalue_reference.hpp> 19 #include <boost/type_traits/add_volatile.hpp> 20 #include <boost/type_traits/aligned_storage.hpp> 21 #include <boost/type_traits/alignment_of.hpp> 22 #include <boost/type_traits/common_type.hpp> 23 #include <boost/type_traits/conditional.hpp> 24 #include <boost/type_traits/copy_cv.hpp> 25 #include <boost/type_traits/copy_cv_ref.hpp> 26 #include <boost/type_traits/copy_reference.hpp> 27 #include <boost/type_traits/decay.hpp> 28 #include <boost/type_traits/declval.hpp> 29 #include <boost/type_traits/enable_if.hpp> 30 #include <boost/type_traits/extent.hpp> 31 #include <boost/type_traits/floating_point_promotion.hpp> 32 #include <boost/type_traits/function_traits.hpp> 33 34 #include <boost/type_traits/has_bit_and.hpp> 35 #include <boost/type_traits/has_bit_and_assign.hpp> 36 #include <boost/type_traits/has_bit_or.hpp> 37 #include <boost/type_traits/has_bit_or_assign.hpp> 38 #include <boost/type_traits/has_bit_xor.hpp> 39 #include <boost/type_traits/has_bit_xor_assign.hpp> 40 #include <boost/type_traits/has_complement.hpp> 41 #include <boost/type_traits/has_dereference.hpp> 42 #include <boost/type_traits/has_divides.hpp> 43 #include <boost/type_traits/has_divides_assign.hpp> 44 #include <boost/type_traits/has_equal_to.hpp> 45 #include <boost/type_traits/has_greater.hpp> 46 #include <boost/type_traits/has_greater_equal.hpp> 47 #include <boost/type_traits/has_left_shift.hpp> 48 #include <boost/type_traits/has_left_shift_assign.hpp> 49 #include <boost/type_traits/has_less.hpp> 50 #include <boost/type_traits/has_less_equal.hpp> 51 #include <boost/type_traits/has_logical_and.hpp> 52 #include <boost/type_traits/has_logical_not.hpp> 53 #include <boost/type_traits/has_logical_or.hpp> 54 #include <boost/type_traits/has_minus.hpp> 55 #include <boost/type_traits/has_minus_assign.hpp> 56 #include <boost/type_traits/has_modulus.hpp> 57 #include <boost/type_traits/has_modulus_assign.hpp> 58 #include <boost/type_traits/has_multiplies.hpp> 59 #include <boost/type_traits/has_multiplies_assign.hpp> 60 #include <boost/type_traits/has_negate.hpp> 61 #if !defined(__BORLANDC__) && !defined(__CUDACC__) 62 #include <boost/type_traits/has_new_operator.hpp> 63 #endif 64 #include <boost/type_traits/has_not_equal_to.hpp> 65 #include <boost/type_traits/has_nothrow_assign.hpp> 66 #include <boost/type_traits/has_nothrow_constructor.hpp> 67 #include <boost/type_traits/has_nothrow_copy.hpp> 68 #include <boost/type_traits/has_nothrow_destructor.hpp> 69 #include <boost/type_traits/has_plus.hpp> 70 #include <boost/type_traits/has_plus_assign.hpp> 71 #include <boost/type_traits/has_post_decrement.hpp> 72 #include <boost/type_traits/has_post_increment.hpp> 73 #include <boost/type_traits/has_pre_decrement.hpp> 74 #include <boost/type_traits/has_pre_increment.hpp> 75 #include <boost/type_traits/has_right_shift.hpp> 76 #include <boost/type_traits/has_right_shift_assign.hpp> 77 #include <boost/type_traits/has_trivial_assign.hpp> 78 #include <boost/type_traits/has_trivial_constructor.hpp> 79 #include <boost/type_traits/has_trivial_copy.hpp> 80 #include <boost/type_traits/has_trivial_destructor.hpp> 81 #include <boost/type_traits/has_trivial_move_assign.hpp> 82 #include <boost/type_traits/has_trivial_move_constructor.hpp> 83 #include <boost/type_traits/has_unary_minus.hpp> 84 #include <boost/type_traits/has_unary_plus.hpp> 85 #include <boost/type_traits/has_virtual_destructor.hpp> 86 87 #include <boost/type_traits/integral_constant.hpp> 88 89 #include <boost/type_traits/is_abstract.hpp> 90 #include <boost/type_traits/is_arithmetic.hpp> 91 #include <boost/type_traits/is_array.hpp> 92 #include <boost/type_traits/is_assignable.hpp> 93 #include <boost/type_traits/is_base_and_derived.hpp> 94 #include <boost/type_traits/is_base_of.hpp> 95 #include <boost/type_traits/is_class.hpp> 96 #include <boost/type_traits/is_complex.hpp> 97 #include <boost/type_traits/is_compound.hpp> 98 #include <boost/type_traits/is_const.hpp> 99 #include <boost/type_traits/is_constructible.hpp> 100 #include <boost/type_traits/is_convertible.hpp> 101 #include <boost/type_traits/is_copy_assignable.hpp> 102 #include <boost/type_traits/is_copy_constructible.hpp> 103 #include <boost/type_traits/is_default_constructible.hpp> 104 #include <boost/type_traits/is_destructible.hpp> 105 #include <boost/type_traits/is_empty.hpp> 106 #include <boost/type_traits/is_enum.hpp> 107 #include <boost/type_traits/is_final.hpp> 108 #include <boost/type_traits/is_float.hpp> 109 #include <boost/type_traits/is_floating_point.hpp> 110 #include <boost/type_traits/is_function.hpp> 111 #include <boost/type_traits/is_fundamental.hpp> 112 #include <boost/type_traits/is_integral.hpp> 113 #include <boost/type_traits/is_list_constructible.hpp> 114 #include <boost/type_traits/is_lvalue_reference.hpp> 115 #include <boost/type_traits/is_member_function_pointer.hpp> 116 #include <boost/type_traits/is_member_object_pointer.hpp> 117 #include <boost/type_traits/is_member_pointer.hpp> 118 #include <boost/type_traits/is_nothrow_move_assignable.hpp> 119 #include <boost/type_traits/is_nothrow_move_constructible.hpp> 120 #include <boost/type_traits/is_nothrow_swappable.hpp> 121 #include <boost/type_traits/is_object.hpp> 122 #include <boost/type_traits/is_pod.hpp> 123 #include <boost/type_traits/is_pointer.hpp> 124 #include <boost/type_traits/is_polymorphic.hpp> 125 #include <boost/type_traits/is_reference.hpp> 126 #include <boost/type_traits/is_rvalue_reference.hpp> 127 #include <boost/type_traits/is_same.hpp> 128 #include <boost/type_traits/is_scalar.hpp> 129 #include <boost/type_traits/is_signed.hpp> 130 #include <boost/type_traits/is_stateless.hpp> 131 #include <boost/type_traits/is_union.hpp> 132 #include <boost/type_traits/is_unsigned.hpp> 133 #include <boost/type_traits/is_virtual_base_of.hpp> 134 #include <boost/type_traits/is_void.hpp> 135 #include <boost/type_traits/is_volatile.hpp> 136 #include <boost/type_traits/make_signed.hpp> 137 #include <boost/type_traits/make_unsigned.hpp> 138 #include <boost/type_traits/make_void.hpp> 139 #include <boost/type_traits/rank.hpp> 140 #include <boost/type_traits/remove_all_extents.hpp> 141 #include <boost/type_traits/remove_bounds.hpp> 142 #include <boost/type_traits/remove_const.hpp> 143 #include <boost/type_traits/remove_cv.hpp> 144 #include <boost/type_traits/remove_cv_ref.hpp> 145 #include <boost/type_traits/remove_extent.hpp> 146 #include <boost/type_traits/remove_pointer.hpp> 147 #include <boost/type_traits/remove_reference.hpp> 148 #include <boost/type_traits/remove_volatile.hpp> 149 #include <boost/type_traits/type_identity.hpp> 150 #include <boost/type_traits/type_with_alignment.hpp> 151 152 #if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238)) 153 #include <boost/type_traits/integral_promotion.hpp> 154 #include <boost/type_traits/promote.hpp> 155 #endif 156 157 #endif // BOOST_TYPE_TRAITS_HPP 158