type_traits.hpp 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. // See boost/type_traits/*.hpp for full copyright notices.
  8. #ifndef BOOST_TYPE_TRAITS_HPP
  9. #define BOOST_TYPE_TRAITS_HPP
  10. #include <boost/type_traits/add_const.hpp>
  11. #include <boost/type_traits/add_cv.hpp>
  12. #include <boost/type_traits/add_lvalue_reference.hpp>
  13. #include <boost/type_traits/add_pointer.hpp>
  14. #include <boost/type_traits/add_reference.hpp>
  15. #include <boost/type_traits/add_rvalue_reference.hpp>
  16. #include <boost/type_traits/add_volatile.hpp>
  17. #include <boost/type_traits/aligned_storage.hpp>
  18. #include <boost/type_traits/alignment_of.hpp>
  19. #include <boost/type_traits/common_type.hpp>
  20. #include <boost/type_traits/conditional.hpp>
  21. #include <boost/type_traits/conjunction.hpp>
  22. #include <boost/type_traits/copy_cv.hpp>
  23. #include <boost/type_traits/copy_cv_ref.hpp>
  24. #include <boost/type_traits/copy_reference.hpp>
  25. #include <boost/type_traits/decay.hpp>
  26. #include <boost/type_traits/declval.hpp>
  27. #include <boost/type_traits/disjunction.hpp>
  28. #include <boost/type_traits/enable_if.hpp>
  29. #include <boost/type_traits/extent.hpp>
  30. #include <boost/type_traits/floating_point_promotion.hpp>
  31. #include <boost/type_traits/function_traits.hpp>
  32. #include <boost/type_traits/has_bit_and.hpp>
  33. #include <boost/type_traits/has_bit_and_assign.hpp>
  34. #include <boost/type_traits/has_bit_or.hpp>
  35. #include <boost/type_traits/has_bit_or_assign.hpp>
  36. #include <boost/type_traits/has_bit_xor.hpp>
  37. #include <boost/type_traits/has_bit_xor_assign.hpp>
  38. #include <boost/type_traits/has_complement.hpp>
  39. #include <boost/type_traits/has_dereference.hpp>
  40. #include <boost/type_traits/has_divides.hpp>
  41. #include <boost/type_traits/has_divides_assign.hpp>
  42. #include <boost/type_traits/has_equal_to.hpp>
  43. #include <boost/type_traits/has_greater.hpp>
  44. #include <boost/type_traits/has_greater_equal.hpp>
  45. #include <boost/type_traits/has_left_shift.hpp>
  46. #include <boost/type_traits/has_left_shift_assign.hpp>
  47. #include <boost/type_traits/has_less.hpp>
  48. #include <boost/type_traits/has_less_equal.hpp>
  49. #include <boost/type_traits/has_logical_and.hpp>
  50. #include <boost/type_traits/has_logical_not.hpp>
  51. #include <boost/type_traits/has_logical_or.hpp>
  52. #include <boost/type_traits/has_minus.hpp>
  53. #include <boost/type_traits/has_minus_assign.hpp>
  54. #include <boost/type_traits/has_modulus.hpp>
  55. #include <boost/type_traits/has_modulus_assign.hpp>
  56. #include <boost/type_traits/has_multiplies.hpp>
  57. #include <boost/type_traits/has_multiplies_assign.hpp>
  58. #include <boost/type_traits/has_negate.hpp>
  59. #if !defined(BOOST_BORLANDC) && (!(defined(__CUDACC__) && (__CUDACC_VER_MAJOR__ < 11)) || defined(__CUDA__))
  60. #include <boost/type_traits/has_new_operator.hpp>
  61. #endif
  62. #include <boost/type_traits/has_not_equal_to.hpp>
  63. #include <boost/type_traits/has_nothrow_assign.hpp>
  64. #include <boost/type_traits/has_nothrow_constructor.hpp>
  65. #include <boost/type_traits/has_nothrow_copy.hpp>
  66. #include <boost/type_traits/has_nothrow_destructor.hpp>
  67. #include <boost/type_traits/has_plus.hpp>
  68. #include <boost/type_traits/has_plus_assign.hpp>
  69. #include <boost/type_traits/has_post_decrement.hpp>
  70. #include <boost/type_traits/has_post_increment.hpp>
  71. #include <boost/type_traits/has_pre_decrement.hpp>
  72. #include <boost/type_traits/has_pre_increment.hpp>
  73. #include <boost/type_traits/has_right_shift.hpp>
  74. #include <boost/type_traits/has_right_shift_assign.hpp>
  75. #include <boost/type_traits/has_trivial_assign.hpp>
  76. #include <boost/type_traits/has_trivial_constructor.hpp>
  77. #include <boost/type_traits/has_trivial_copy.hpp>
  78. #include <boost/type_traits/has_trivial_destructor.hpp>
  79. #include <boost/type_traits/has_trivial_move_assign.hpp>
  80. #include <boost/type_traits/has_trivial_move_constructor.hpp>
  81. #include <boost/type_traits/has_unary_minus.hpp>
  82. #include <boost/type_traits/has_unary_plus.hpp>
  83. #include <boost/type_traits/has_virtual_destructor.hpp>
  84. #include <boost/type_traits/integral_constant.hpp>
  85. #include <boost/type_traits/is_abstract.hpp>
  86. #include <boost/type_traits/is_arithmetic.hpp>
  87. #include <boost/type_traits/is_array.hpp>
  88. #include <boost/type_traits/is_assignable.hpp>
  89. #include <boost/type_traits/is_base_and_derived.hpp>
  90. #include <boost/type_traits/is_base_of.hpp>
  91. #include <boost/type_traits/is_class.hpp>
  92. #include <boost/type_traits/is_complex.hpp>
  93. #include <boost/type_traits/is_compound.hpp>
  94. #include <boost/type_traits/is_const.hpp>
  95. #include <boost/type_traits/is_constructible.hpp>
  96. #include <boost/type_traits/is_convertible.hpp>
  97. #include <boost/type_traits/is_copy_assignable.hpp>
  98. #include <boost/type_traits/is_copy_constructible.hpp>
  99. #include <boost/type_traits/is_default_constructible.hpp>
  100. #include <boost/type_traits/is_destructible.hpp>
  101. #include <boost/type_traits/is_empty.hpp>
  102. #include <boost/type_traits/is_enum.hpp>
  103. #include <boost/type_traits/is_final.hpp>
  104. #include <boost/type_traits/is_float.hpp>
  105. #include <boost/type_traits/is_floating_point.hpp>
  106. #include <boost/type_traits/is_function.hpp>
  107. #include <boost/type_traits/is_fundamental.hpp>
  108. #include <boost/type_traits/is_integral.hpp>
  109. #include <boost/type_traits/is_list_constructible.hpp>
  110. #include <boost/type_traits/is_lvalue_reference.hpp>
  111. #include <boost/type_traits/is_member_function_pointer.hpp>
  112. #include <boost/type_traits/is_member_object_pointer.hpp>
  113. #include <boost/type_traits/is_member_pointer.hpp>
  114. #include <boost/type_traits/is_nothrow_move_assignable.hpp>
  115. #include <boost/type_traits/is_nothrow_move_constructible.hpp>
  116. #include <boost/type_traits/is_nothrow_swappable.hpp>
  117. #include <boost/type_traits/is_object.hpp>
  118. #include <boost/type_traits/is_pod.hpp>
  119. #include <boost/type_traits/is_pointer.hpp>
  120. #include <boost/type_traits/is_polymorphic.hpp>
  121. #include <boost/type_traits/is_reference.hpp>
  122. #include <boost/type_traits/is_rvalue_reference.hpp>
  123. #include <boost/type_traits/is_same.hpp>
  124. #include <boost/type_traits/is_scalar.hpp>
  125. #include <boost/type_traits/is_scoped_enum.hpp>
  126. #include <boost/type_traits/is_signed.hpp>
  127. #include <boost/type_traits/is_stateless.hpp>
  128. #include <boost/type_traits/is_swappable.hpp>
  129. #include <boost/type_traits/is_trivially_copyable.hpp>
  130. #include <boost/type_traits/is_union.hpp>
  131. #include <boost/type_traits/is_unscoped_enum.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/negation.hpp>
  140. #include <boost/type_traits/rank.hpp>
  141. #include <boost/type_traits/remove_all_extents.hpp>
  142. #include <boost/type_traits/remove_bounds.hpp>
  143. #include <boost/type_traits/remove_const.hpp>
  144. #include <boost/type_traits/remove_cv.hpp>
  145. #include <boost/type_traits/remove_cv_ref.hpp>
  146. #include <boost/type_traits/remove_extent.hpp>
  147. #include <boost/type_traits/remove_pointer.hpp>
  148. #include <boost/type_traits/remove_reference.hpp>
  149. #include <boost/type_traits/remove_volatile.hpp>
  150. #include <boost/type_traits/type_identity.hpp>
  151. #include <boost/type_traits/type_with_alignment.hpp>
  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. #endif // BOOST_TYPE_TRAITS_HPP