fixing stuff
[dyninst.git] / dynutil / h / dyn_detail / boost / type_traits / detail / is_function_ptr_helper.hpp
1
2 //  Copyright 2000 John Maddock (john@johnmaddock.co.uk)
3 //  Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)
4 //
5 //  Use, modification and distribution are subject to the Boost Software License,
6 //  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 //  http://www.boost.org/LICENSE_1_0.txt).
8 //
9 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
10
11 #if !defined(DYN_DETAIL_BOOST_PP_IS_ITERATING)
12
13 ///// header body
14
15 #ifndef DYN_DETAIL_BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
16 #define DYN_DETAIL_BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
17
18 #include <dyn_detail/boost/type_traits/config.hpp>
19
20 #if defined(DYN_DETAIL_BOOST_TT_PREPROCESSING_MODE)
21 #   include <dyn_detail/boost/preprocessor/iterate.hpp>
22 #   include <dyn_detail/boost/preprocessor/enum_params.hpp>
23 #   include <dyn_detail/boost/preprocessor/comma_if.hpp>
24 #endif
25
26 namespace dyn_detail {
27 namespace boost {
28 namespace type_traits {
29
30 template <class R>
31 struct is_function_ptr_helper
32 {
33     DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = false);
34 };
35
36 #if !defined(DYN_DETAIL_BOOST_TT_PREPROCESSING_MODE)
37 // preprocessor-generated part, don't edit by hand!
38
39 template <class R >
40 struct is_function_ptr_helper<R (*)()> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
41 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
42 template <class R >
43 struct is_function_ptr_helper<R (*)( ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
44 #endif
45 template <class R , class T0>
46 struct is_function_ptr_helper<R (*)( T0)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
47 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
48 template <class R , class T0>
49 struct is_function_ptr_helper<R (*)( T0 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
50 #endif
51 template <class R , class T0 , class T1>
52 struct is_function_ptr_helper<R (*)( T0 , T1)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
53 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
54 template <class R , class T0 , class T1>
55 struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
56 #endif
57 template <class R , class T0 , class T1 , class T2>
58 struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
59 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
60 template <class R , class T0 , class T1 , class T2>
61 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
62 #endif
63 template <class R , class T0 , class T1 , class T2 , class T3>
64 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
65 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
66 template <class R , class T0 , class T1 , class T2 , class T3>
67 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
68 #endif
69 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
70 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
71 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
72 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
73 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
74 #endif
75 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
76 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
77 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
78 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
79 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
80 #endif
81 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
82 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
83 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
84 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
85 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
86 #endif
87 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
88 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
89 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
90 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
91 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
92 #endif
93 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
94 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
95 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
96 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
97 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
98 #endif
99 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
100 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
101 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
102 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
103 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
104 #endif
105 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>
106 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
107 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
109 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
110 #endif
111 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>
112 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
113 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
115 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
116 #endif
117 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>
118 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
119 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
121 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
122 #endif
123 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>
124 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
125 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
127 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
128 #endif
129 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>
130 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
131 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
133 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
134 #endif
135 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>
136 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
137 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
139 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
140 #endif
141 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>
142 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
143 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
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>
145 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
146 #endif
147 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>
148 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
149 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
150 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>
151 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
152 #endif
153 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>
154 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
155 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
156 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>
157 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
158 #endif
159 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>
160 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
161 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
162 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>
163 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
164 #endif
165 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>
166 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
167 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
168 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>
169 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
170 #endif
171 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>
172 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
173 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
174 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>
175 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
176 #endif
177 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>
178 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
179 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
180 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>
181 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
182 #endif
183 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>
184 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
185 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
186 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>
187 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
188 #endif
189 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>
190 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)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
191 #ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
192 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>
193 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 ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
194 #endif
195 #else
196
197 #undef DYN_DETAIL_BOOST_STATIC_CONSTANT
198 #define DYN_DETAIL_BOOST_PP_ITERATION_PARAMS_1 \
199     (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp"))
200 #include DYN_DETAIL_BOOST_PP_ITERATE()
201
202 #endif // DYN_DETAIL_BOOST_TT_PREPROCESSING_MODE
203
204 } // namespace type_traits
205 } // namespace boost
206 } // namespace dyn_detail
207
208 #endif // DYN_DETAIL_BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
209
210 ///// iteration
211
212 #else
213 #define DYN_DETAIL_BOOST_PP_COUNTER DYN_DETAIL_BOOST_PP_FRAME_ITERATION(1)
214
215 template <class R DYN_DETAIL_BOOST_PP_COMMA_IF(DYN_DETAIL_BOOST_PP_COUNTER) DYN_DETAIL_BOOST_PP_ENUM_PARAMS(DYN_DETAIL_BOOST_PP_COUNTER,class T)>
216 struct is_function_ptr_helper<R (*)(DYN_DETAIL_BOOST_PP_ENUM_PARAMS(DYN_DETAIL_BOOST_PP_COUNTER,T))> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
217 @#ifndef DYN_DETAIL_BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
218 template <class R DYN_DETAIL_BOOST_PP_COMMA_IF(DYN_DETAIL_BOOST_PP_COUNTER) DYN_DETAIL_BOOST_PP_ENUM_PARAMS(DYN_DETAIL_BOOST_PP_COUNTER,class T)>
219 struct is_function_ptr_helper<R (*)(DYN_DETAIL_BOOST_PP_ENUM_PARAMS(DYN_DETAIL_BOOST_PP_COUNTER,T) ...)> { DYN_DETAIL_BOOST_STATIC_CONSTANT(bool, value = true); };
220 @#endif
221 #undef DYN_DETAIL_BOOST_PP_COUNTER
222 #endif // DYN_DETAIL_BOOST_PP_IS_ITERATING