37 #if defined(MADNESS_USE_TYPE_TRAITS)
38 # include <type_traits>
39 #elif defined(MADNESS_USE_TR1_TYPE_TRAITS)
40 # include <tr1/type_traits>
41 #elif defined(MADNESS_USE_BOOST_TR1_TYPE_TRAITS_HPP)
42 # include <boost/tr1/type_traits.hpp>
44 # define MADNESS_HAS_STD_TYPE_TRAITS 1
74 #if defined(MADNESS_HAS_STD_TR1_TYPE_TRAITS) && !defined(MADNESS_HAS_STD_TYPE_TRAITS)
75 #define MADNESS_HAS_STD_TYPE_TRAITS 1
79 using ::std::tr1::integral_constant;
82 using ::std::tr1::is_void;
83 using ::std::tr1::is_integral;
84 using ::std::tr1::is_floating_point;
85 using ::std::tr1::is_array;
86 using ::std::tr1::is_pointer;
87 using ::std::tr1::is_reference;
88 using ::std::tr1::is_member_object_pointer;
89 using ::std::tr1::is_member_function_pointer;
90 using ::std::tr1::is_enum;
91 using ::std::tr1::is_union;
92 using ::std::tr1::is_class;
93 using ::std::tr1::is_function;
94 using ::std::tr1::is_arithmetic;
95 using ::std::tr1::is_fundamental;
96 using ::std::tr1::is_object;
97 using ::std::tr1::is_scalar;
98 using ::std::tr1::is_compound;
99 using ::std::tr1::is_member_pointer;
100 using ::std::tr1::is_const;
101 using ::std::tr1::is_volatile;
102 using ::std::tr1::is_pod;
103 using ::std::tr1::is_empty;
104 using ::std::tr1::is_polymorphic;
105 using ::std::tr1::is_abstract;
106 using ::std::tr1::has_trivial_constructor;
107 using ::std::tr1::has_trivial_copy;
108 using ::std::tr1::has_trivial_assign;
109 using ::std::tr1::has_trivial_destructor;
110 using ::std::tr1::has_nothrow_constructor;
111 using ::std::tr1::has_nothrow_copy;
112 using ::std::tr1::has_nothrow_assign;
113 using ::std::tr1::has_virtual_destructor;
114 using ::std::tr1::is_signed;
115 using ::std::tr1::is_unsigned;
116 using ::std::tr1::alignment_of;
117 using ::std::tr1::rank;
118 using ::std::tr1::extent;
119 using ::std::tr1::is_same;
120 using ::std::tr1::is_base_of;
121 using ::std::tr1::is_convertible;
122 using ::std::tr1::remove_const;
123 using ::std::tr1::remove_volatile;
124 using ::std::tr1::remove_cv;
125 using ::std::tr1::add_const;
126 using ::std::tr1::add_volatile;
127 using ::std::tr1::add_cv;
128 using ::std::tr1::remove_reference;
129 using ::std::tr1::add_reference;
130 using ::std::tr1::remove_extent;
131 using ::std::tr1::remove_all_extents;
132 using ::std::tr1::remove_pointer;
133 using ::std::tr1::add_pointer;
134 using ::std::tr1::aligned_storage;
remove_const::type will be T
Definition: type_traits_bits.h:197
remove_volatile::type will be T
Definition: type_traits_bits.h:209
Definition: mpreal.h:3066
is_pointer::value will be true if T is a pointer type
Definition: type_traits_bits.h:69
is_reference::value will be true if T is a reference type
Definition: type_traits_bits.h:77
bool_constant< true > true_type
Definition: gtest-port.h:1618
is_fundamental::value will be true if T is a fundamental type
Definition: type_traits_bits.h:110
Definition: type_traits_bits.h:162
bool_constant< false > false_type
Definition: gtest-port.h:1617
remove_reference<&T>::type will be T
Definition: type_traits_bits.h:243
is_const::value will be true if T is const
Definition: type_traits_bits.h:139
remove_pointer::type will be T
Definition: type_traits_bits.h:267
add_const::type will be const T
Definition: type_traits_bits.h:227
Definition: type_traits_bits.h:128
std::enable_if is similar to boost::enable_if_c for conditionally instantiating templates based on ty...
Definition: type_traits_bits.h:290
is_floating_point::value will be true if T is a fundamental floating-point type ...
Definition: type_traits_bits.h:36
true if T is void
Definition: type_traits_bits.h:21
remove_cv::type or remove_cv::type will be T
Definition: type_traits_bits.h:221
is_function::value is true if T is a function pointer
Definition: type_traits_bits.h:85
Definition: type_traits_bits.h:101
is_member_function_pointer::value is true if T is a member function pointer
Definition: type_traits_bits.h:91
is_array::value will be true if T is an array type
Definition: type_traits_bits.h:61
Definition: type_traits_bits.h:183
is_integral::value will be true if T is a fundamental integer type
Definition: type_traits_bits.h:29
Definition: type_traits_bits.h:116