* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file type_traits.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_TYPE_TRAITS_H
#define _CPP_BITS_TYPE_TRAITS_H 1
}
*/
-
-template <bool _Truth> struct _Bool {};
-typedef _Bool<true> __true_type;
-typedef _Bool<false> __false_type;
+struct __true_type {};
+struct __false_type {};
template <class _Tp>
struct __type_traits {
typedef __true_type is_POD_type;
};
-#ifdef _GLIBCPP_USE_LONG_LONG
-
template<> struct __type_traits<long long> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type is_POD_type;
};
-#endif /* _GLIBCPP_USE_LONG_LONG */
-
template<> struct __type_traits<float> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type _Integral;
};
-#ifdef _GLIBCPP_USE_LONG_LONG
-
template<> struct _Is_integer<long long> {
typedef __true_type _Integral;
};
typedef __true_type _Integral;
};
-#endif /* _GLIBCPP_USE_LONG_LONG */
-
template<typename _Tp> struct _Is_normal_iterator {
typedef __false_type _Normal;
};