11 #if !defined(BOOST_PP_IS_ITERATING) 15 #ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED 16 #define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED 18 #if defined(BOOST_TT_PREPROCESSING_MODE) 23 #define PP1 <boost/preprocessor/iterate.hpp> 26 #define PP1 <boost/preprocessor/enum_params.hpp> 29 #define PP1 <boost/preprocessor/comma_if.hpp> 35 namespace type_traits {
43 #if !defined(BOOST_TT_PREPROCESSING_MODE) 50 template <
class R ,
class T0>
52 template <
class R ,
class T0>
54 template <
class R ,
class T0 ,
class T1>
56 template <
class R ,
class T0 ,
class T1>
58 template <
class R ,
class T0 ,
class T1 ,
class T2>
60 template <
class R ,
class T0 ,
class T1 ,
class T2>
62 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3>
64 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3>
66 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4>
68 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4>
70 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5>
72 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5>
74 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6>
76 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6>
78 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7>
80 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7>
82 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8>
84 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8>
86 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9>
87 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
88 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9>
89 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
90 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10>
91 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
92 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10>
93 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
94 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11>
95 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
96 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11>
97 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
98 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12>
99 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
100 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12>
101 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
102 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13>
103 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
104 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13>
105 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
106 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14>
107 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
108 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14>
109 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
110 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15>
111 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
112 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15>
113 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
114 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16>
115 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
116 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16>
117 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
118 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17>
119 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
120 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17>
121 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
122 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18>
123 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
124 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18>
125 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
126 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19>
127 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
128 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19>
129 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
130 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20>
131 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
132 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20>
133 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
134 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21>
135 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
136 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21>
137 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
138 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22>
139 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
140 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22>
141 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
142 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22 ,
class T23>
143 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
144 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22 ,
class T23>
145 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
146 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22 ,
class T23 ,
class T24>
147 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
148 template <
class R ,
class T0 ,
class T1 ,
class T2 ,
class T3 ,
class T4 ,
class T5 ,
class T6 ,
class T7 ,
class T8 ,
class T9 ,
class T10 ,
class T11 ,
class T12 ,
class T13 ,
class T14 ,
class T15 ,
class T16 ,
class T17 ,
class T18 ,
class T19 ,
class T20 ,
class T21 ,
class T22 ,
class T23 ,
class T24>
149 struct is_function_ptr_helper<
R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> {
BOOST_STATIC_CONSTANT(
bool,
value =
true); };
152 #undef BOOST_STATIC_CONSTANT 153 #define BOOST_PP_ITERATION_PARAMS_1 \ 154 (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp")) 155 #include BOOST_PP_ITERATE() 157 #endif // BOOST_TT_PREPROCESSING_MODE 162 #endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED 167 #define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) 169 template <
class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,
class T)>
171 @#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
172 template <
class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,
class T)>
175 #undef BOOST_PP_COUNTER 176 #endif // BOOST_PP_IS_ITERATING
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
BOOST_STATIC_CONSTANT(bool, value=false)
#define BOOST_PP_ENUM_PARAMS(count, param)