__functional_base_03 (232924) | __functional_base_03 (242939) |
---|---|
1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is dual licensed under the MIT and the University of Illinois Open 7// Source Licenses. See LICENSE.TXT for details. 8// --- 5 unchanged lines hidden (view full) --- 14// manual variadic expansion for <functional> 15 16// __weak_result_type 17 18template <class _Tp> 19struct __derives_from_unary_function 20{ 21private: | 1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is dual licensed under the MIT and the University of Illinois Open 7// Source Licenses. See LICENSE.TXT for details. 8// --- 5 unchanged lines hidden (view full) --- 14// manual variadic expansion for <functional> 15 16// __weak_result_type 17 18template <class _Tp> 19struct __derives_from_unary_function 20{ 21private: |
22 struct __two {char _; char __;}; | 22 struct __two {char __lx; char __lxx;}; |
23 static __two __test(...); 24 template <class _Ap, class _Rp> 25 static unary_function<_Ap, _Rp> 26 __test(const volatile unary_function<_Ap, _Rp>*); 27public: 28 static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; 29 typedef decltype(__test((_Tp*)0)) type; 30}; 31 32template <class _Tp> 33struct __derives_from_binary_function 34{ 35private: | 23 static __two __test(...); 24 template <class _Ap, class _Rp> 25 static unary_function<_Ap, _Rp> 26 __test(const volatile unary_function<_Ap, _Rp>*); 27public: 28 static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; 29 typedef decltype(__test((_Tp*)0)) type; 30}; 31 32template <class _Tp> 33struct __derives_from_binary_function 34{ 35private: |
36 struct __two {char _; char __;}; | 36 struct __two {char __lx; char __lxx;}; |
37 static __two __test(...); 38 template <class _A1, class _A2, class _Rp> 39 static binary_function<_A1, _A2, _Rp> 40 __test(const volatile binary_function<_A1, _A2, _Rp>*); 41public: 42 static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; 43 typedef decltype(__test((_Tp*)0)) type; 44}; --- 893 unchanged lines hidden (view full) --- 938// { 939// return __f(__a0, __a1, __a2); 940// } 941 942template <class _Tp> 943struct __has_type 944{ 945private: | 37 static __two __test(...); 38 template <class _A1, class _A2, class _Rp> 39 static binary_function<_A1, _A2, _Rp> 40 __test(const volatile binary_function<_A1, _A2, _Rp>*); 41public: 42 static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; 43 typedef decltype(__test((_Tp*)0)) type; 44}; --- 893 unchanged lines hidden (view full) --- 938// { 939// return __f(__a0, __a1, __a2); 940// } 941 942template <class _Tp> 943struct __has_type 944{ 945private: |
946 struct __two {char _; char __;}; | 946 struct __two {char __lx; char __lxx;}; |
947 template <class _Up> static __two __test(...); 948 template <class _Up> static char __test(typename _Up::type* = 0); 949public: 950 static const bool value = sizeof(__test<_Tp>(0)) == 1; 951}; 952 953template <class _Fp, bool = __has_result_type<__weak_result_type<_Fp> >::value> 954struct __invoke_return --- 133 unchanged lines hidden --- | 947 template <class _Up> static __two __test(...); 948 template <class _Up> static char __test(typename _Up::type* = 0); 949public: 950 static const bool value = sizeof(__test<_Tp>(0)) == 1; 951}; 952 953template <class _Fp, bool = __has_result_type<__weak_result_type<_Fp> >::value> 954struct __invoke_return --- 133 unchanged lines hidden --- |