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/conjunction.hpp>
25#include <boost/type_traits/copy_cv.hpp>
26#include <boost/type_traits/copy_cv_ref.hpp>
27#include <boost/type_traits/copy_reference.hpp>
28#include <boost/type_traits/decay.hpp>
29#include <boost/type_traits/declval.hpp>
30#include <boost/type_traits/disjunction.hpp>
31#include <boost/type_traits/enable_if.hpp>
32#include <boost/type_traits/extent.hpp>
33#include <boost/type_traits/floating_point_promotion.hpp>
34#include <boost/type_traits/function_traits.hpp>
35
36#include <boost/type_traits/has_bit_and.hpp>
37#include <boost/type_traits/has_bit_and_assign.hpp>
38#include <boost/type_traits/has_bit_or.hpp>
39#include <boost/type_traits/has_bit_or_assign.hpp>
40#include <boost/type_traits/has_bit_xor.hpp>
41#include <boost/type_traits/has_bit_xor_assign.hpp>
42#include <boost/type_traits/has_complement.hpp>
43#include <boost/type_traits/has_dereference.hpp>
44#include <boost/type_traits/has_divides.hpp>
45#include <boost/type_traits/has_divides_assign.hpp>
46#include <boost/type_traits/has_equal_to.hpp>
47#include <boost/type_traits/has_greater.hpp>
48#include <boost/type_traits/has_greater_equal.hpp>
49#include <boost/type_traits/has_left_shift.hpp>
50#include <boost/type_traits/has_left_shift_assign.hpp>
51#include <boost/type_traits/has_less.hpp>
52#include <boost/type_traits/has_less_equal.hpp>
53#include <boost/type_traits/has_logical_and.hpp>
54#include <boost/type_traits/has_logical_not.hpp>
55#include <boost/type_traits/has_logical_or.hpp>
56#include <boost/type_traits/has_minus.hpp>
57#include <boost/type_traits/has_minus_assign.hpp>
58#include <boost/type_traits/has_modulus.hpp>
59#include <boost/type_traits/has_modulus_assign.hpp>
60#include <boost/type_traits/has_multiplies.hpp>
61#include <boost/type_traits/has_multiplies_assign.hpp>
62#include <boost/type_traits/has_negate.hpp>
63#if !defined(BOOST_BORLANDC) && !defined(__CUDACC__)
64#include <boost/type_traits/has_new_operator.hpp>
65#endif
66#include <boost/type_traits/has_not_equal_to.hpp>
67#include <boost/type_traits/has_nothrow_assign.hpp>
68#include <boost/type_traits/has_nothrow_constructor.hpp>
69#include <boost/type_traits/has_nothrow_copy.hpp>
70#include <boost/type_traits/has_nothrow_destructor.hpp>
71#include <boost/type_traits/has_plus.hpp>
72#include <boost/type_traits/has_plus_assign.hpp>
73#include <boost/type_traits/has_post_decrement.hpp>
74#include <boost/type_traits/has_post_increment.hpp>
75#include <boost/type_traits/has_pre_decrement.hpp>
76#include <boost/type_traits/has_pre_increment.hpp>
77#include <boost/type_traits/has_right_shift.hpp>
78#include <boost/type_traits/has_right_shift_assign.hpp>
79#include <boost/type_traits/has_trivial_assign.hpp>
80#include <boost/type_traits/has_trivial_constructor.hpp>
81#include <boost/type_traits/has_trivial_copy.hpp>
82#include <boost/type_traits/has_trivial_destructor.hpp>
83#include <boost/type_traits/has_trivial_move_assign.hpp>
84#include <boost/type_traits/has_trivial_move_constructor.hpp>
85#include <boost/type_traits/has_unary_minus.hpp>
86#include <boost/type_traits/has_unary_plus.hpp>
87#include <boost/type_traits/has_virtual_destructor.hpp>
88
89#include <boost/type_traits/integral_constant.hpp>
90
91#include <boost/type_traits/is_abstract.hpp>
92#include <boost/type_traits/is_arithmetic.hpp>
93#include <boost/type_traits/is_array.hpp>
94#include <boost/type_traits/is_assignable.hpp>
95#include <boost/type_traits/is_base_and_derived.hpp>
96#include <boost/type_traits/is_base_of.hpp>
97#include <boost/type_traits/is_class.hpp>
98#include <boost/type_traits/is_complex.hpp>
99#include <boost/type_traits/is_compound.hpp>
100#include <boost/type_traits/is_const.hpp>
101#include <boost/type_traits/is_constructible.hpp>
102#include <boost/type_traits/is_convertible.hpp>
103#include <boost/type_traits/is_copy_assignable.hpp>
104#include <boost/type_traits/is_copy_constructible.hpp>
105#include <boost/type_traits/is_default_constructible.hpp>
106#include <boost/type_traits/is_destructible.hpp>
107#include <boost/type_traits/is_empty.hpp>
108#include <boost/type_traits/is_enum.hpp>
109#include <boost/type_traits/is_final.hpp>
110#include <boost/type_traits/is_float.hpp>
111#include <boost/type_traits/is_floating_point.hpp>
112#include <boost/type_traits/is_function.hpp>
113#include <boost/type_traits/is_fundamental.hpp>
114#include <boost/type_traits/is_integral.hpp>
115#include <boost/type_traits/is_list_constructible.hpp>
116#include <boost/type_traits/is_lvalue_reference.hpp>
117#include <boost/type_traits/is_member_function_pointer.hpp>
118#include <boost/type_traits/is_member_object_pointer.hpp>
119#include <boost/type_traits/is_member_pointer.hpp>
120#include <boost/type_traits/is_nothrow_move_assignable.hpp>
121#include <boost/type_traits/is_nothrow_move_constructible.hpp>
122#include <boost/type_traits/is_nothrow_swappable.hpp>
123#include <boost/type_traits/is_object.hpp>
124#include <boost/type_traits/is_pod.hpp>
125#include <boost/type_traits/is_pointer.hpp>
126#include <boost/type_traits/is_polymorphic.hpp>
127#include <boost/type_traits/is_reference.hpp>
128#include <boost/type_traits/is_rvalue_reference.hpp>
129#include <boost/type_traits/is_same.hpp>
130#include <boost/type_traits/is_scalar.hpp>
131#include <boost/type_traits/is_scoped_enum.hpp>
132#include <boost/type_traits/is_signed.hpp>
133#include <boost/type_traits/is_stateless.hpp>
134#include <boost/type_traits/is_trivially_copyable.hpp>
135#include <boost/type_traits/is_union.hpp>
136#include <boost/type_traits/is_unscoped_enum.hpp>
137#include <boost/type_traits/is_unsigned.hpp>
138#include <boost/type_traits/is_virtual_base_of.hpp>
139#include <boost/type_traits/is_void.hpp>
140#include <boost/type_traits/is_volatile.hpp>
141#include <boost/type_traits/make_signed.hpp>
142#include <boost/type_traits/make_unsigned.hpp>
143#include <boost/type_traits/make_void.hpp>
144#include <boost/type_traits/negation.hpp>
145#include <boost/type_traits/rank.hpp>
146#include <boost/type_traits/remove_all_extents.hpp>
147#include <boost/type_traits/remove_bounds.hpp>
148#include <boost/type_traits/remove_const.hpp>
149#include <boost/type_traits/remove_cv.hpp>
150#include <boost/type_traits/remove_cv_ref.hpp>
151#include <boost/type_traits/remove_extent.hpp>
152#include <boost/type_traits/remove_pointer.hpp>
153#include <boost/type_traits/remove_reference.hpp>
154#include <boost/type_traits/remove_volatile.hpp>
155#include <boost/type_traits/type_identity.hpp>
156#include <boost/type_traits/type_with_alignment.hpp>
157
158#if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238))
159#include <boost/type_traits/integral_promotion.hpp>
160#include <boost/type_traits/promote.hpp>
161#endif
162
163#endif // BOOST_TYPE_TRAITS_HPP
164

source code of include/boost/type_traits.hpp