1 // xxtype_traits TR1 internal header
2 // NOTE: no include guard
3
4 template<class _Ret _C_CLASS_ARG0>
5     struct _Is_funptr<_Ret (*)(_ARG0_ARG1)>
6     : true_type
7     {    // base class for function pointer predicates
8     };
9
10 template<class _Ret _C_CLASS_ARG0>
11     struct _Is_funptr<_Ret (*)(_ARG0_ARG1 ...)>
12     : true_type
13     {    // base class for function pointer predicates
14     };
15
16  #if _NARGS != 0
17 template<class _Ret _C_CLASS_ARG0>
18     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2)>
19         : true_type
20     {    // base class for member function pointer predicates
21     };
22
23 template<class _Ret _C_CLASS_ARG0>
24     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...)>
25         : true_type
26     {    // base class for member function pointer predicates
27     };
28
29 template<class _Ret _C_CLASS_ARG0>
30     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2) const>
31         : true_type
32     {    // base class for member function pointer predicates
33     };
34
35 template<class _Ret _C_CLASS_ARG0>
36     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...) const>
37         : true_type
38     {    // base class for member function pointer predicates
Lines 39 ... 48 are skipped.
49         : true_type
50     {    // base class for member function pointer predicates
51     };
52
53 template<class _Ret _C_CLASS_ARG0>
54     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2) const volatile>
55         : true_type
56     {    // base class for member function pointer predicates
57     };
58
59 template<class _Ret _C_CLASS_ARG0>
60     struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...) const volatile>
61         : true_type
62     {    // base class for member function pointer predicates
63     };
64  #endif /* _NARGS != 0 */
65
66 /*
67  * Copyright (c) 1992-2008 by P.J. Plauger.  ALL RIGHTS RESERVED.
68  * Consult your license regarding permissions and restrictions.
69 V5.05:0009 */
70