summaryrefslogtreecommitdiffstats
path: root/include/std/type_traits
diff options
context:
space:
mode:
Diffstat (limited to 'include/std/type_traits')
-rw-r--r--include/std/type_traits86
1 files changed, 0 insertions, 86 deletions
diff --git a/include/std/type_traits b/include/std/type_traits
deleted file mode 100644
index 39394d8d..00000000
--- a/include/std/type_traits
+++ /dev/null
@@ -1,86 +0,0 @@
-#if !defined(_TYPE_TRAITS)
-#define _TYPE_TRAITS
-
-namespace std
-{
- /// integral_constant
- template<typename _Tp, _Tp __v>
- struct integral_constant
- {
- static const _Tp value = __v;
- typedef _Tp value_type;
- typedef integral_constant<_Tp, __v> type;
- };
-
- /// typedef for true_type
- typedef integral_constant<bool, true> true_type;
-
- /// typedef for false_type
- typedef integral_constant<bool, false> false_type;
-
- template<typename _Tp, _Tp __v>
- const _Tp integral_constant<_Tp, __v>::value;
-
- /// remove_const
- template<typename _Tp>
- struct remove_const
- { typedef _Tp type; };
-
- /// remove_volatile
- template<typename _Tp>
- struct remove_volatile
- { typedef _Tp type; };
-
- /// remove_cv
- template<typename _Tp>
- struct remove_cv
- {
- typedef typename
- remove_const<typename remove_volatile<_Tp>::type>::type type;
- };
-
- template<typename> struct _is_integral_type : public false_type { };
- template<> struct _is_integral_type<bool>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<char>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<signed char>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<unsigned char>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<short>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<unsigned short>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<int>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<unsigned int>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<long>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<unsigned long>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<long long>: public integral_constant<bool,true> {};
- template<> struct _is_integral_type<unsigned long long>: public integral_constant<bool,true> {};
-
- /// is_integral
- template<typename _Tp>
- struct is_integral
- : public integral_constant<bool, (_is_integral_type<typename
- remove_cv<_Tp>::type>::value)>
- { };
- /// is_same
- template<typename, typename>
- struct is_same
- : public false_type { };
-
- template<typename _Tp>
- struct is_same<_Tp, _Tp>
- : public true_type { };
-
- template<typename>
- struct __is_pointer_helper
- : public false_type { };
-
- template<typename _Tp>
- struct __is_pointer_helper<_Tp*>
- : public true_type { };
-
- /// is_pointer
- template<typename _Tp>
- struct is_pointer
- : public integral_constant<bool, (__is_pointer_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-}
-#endif
OpenPOWER on IntegriCloud