Home | History | Annotate | Download | only in include

Lines Matching refs:_T

38 #ifdef _T
39 #error "_T is defined"
46 // function foo<_T> when its template argument is a pointer type:
48 // template<typename _T> void foo(_T val) { // template function
49 // const bool is_pointer = is_pointer<_T>::value;
54 // template<typename _T> static void foo(_T val) {
63 // template<typename _T> static void foo(_T val) {
71 template<typename _T, _T _value>
74 static const _T value = _value;
75 typedef _T value_type;
76 typedef integral_constant<_T, _value> type;
124 template<typename _T>
125 struct is_pointer<_T*>: public true_type { };
127 template<typename _T>
128 struct is_pointer<_T* const>: public true_type { };
130 template<typename _T>
131 struct is_pointer<_T* volatile>: public true_type { };
133 template<typename _T>
134 struct is_pointer<_T* const volatile>: public true_type { };
138 template<typename _T>
139 struct is_arithmetic : public integral_constant<bool, (is_integral<_T>::value || is_floating_point<_T>::value)> { };
143 template<typename _T>
145 : public integral_constant<bool, (is_arithmetic<_T>::value || is_pointer<_T>::value)> { };
156 template<typename _T> sfinae_types::one test_pod_type(int _T::*);
157 template<typename _T> sfinae_types::two& test_pod_type(...);
159 template<typename _T>
160 struct is_pod: public integral_constant<bool, sizeof(test_pod_type<_T>(0)) != sizeof(sfinae_types::one)> { };
162 template<typename _T>
163 struct is_class: public integral_constant<bool, sizeof(test_pod_type<_T>(0)) == sizeof(sfinae_types::one)> { };