Deleted Added
full compact
__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 ---