1 --- boost/type_traits/detail/is_function_cxx_11.hpp
2 +++ boost/type_traits/detail/is_function_cxx_11.hpp
4 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
5 struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
7 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
8 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
9 struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
13 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
15 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
16 struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
18 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
19 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
20 struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
24 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
26 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
27 struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
29 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
30 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
31 struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
35 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
37 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
38 struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
40 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
41 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
42 struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
45 // reference qualified:
48 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
49 struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
51 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
52 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
53 struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
57 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
59 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
60 struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
62 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
63 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
64 struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
68 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
70 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
71 struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
73 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
74 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
75 struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
79 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
81 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
82 struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
84 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
85 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
86 struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
89 // rvalue reference qualified:
92 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
93 struct is_function<Ret __fastcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
95 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
96 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
97 struct is_function<Ret __vectorcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
101 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
103 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
104 struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
106 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
107 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
108 struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
112 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
114 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
115 struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
117 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
118 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
119 struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
123 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
125 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
126 struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
128 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
129 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
130 struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
136 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
137 struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
139 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
140 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
141 struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
145 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
147 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
148 struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
150 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
151 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
152 struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
156 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
158 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
159 struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
161 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
162 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
163 struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
167 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
169 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
170 struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
172 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
173 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
174 struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
177 // reference qualified:
180 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
181 struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
183 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
184 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
185 struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
189 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
191 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
192 struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
194 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
195 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
196 struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
200 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
202 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
203 struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
205 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
206 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
207 struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
211 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
213 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
214 struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
216 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
217 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
218 struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
221 // rvalue reference qualified:
224 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
225 struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
227 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
228 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
229 struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
233 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
235 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
236 struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
238 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
239 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
240 struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
244 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
246 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
247 struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
249 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
250 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
251 struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
255 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
257 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
258 struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
260 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
261 template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
262 struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
267 --- boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
268 +++ boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
270 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
271 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
273 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
274 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
275 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
279 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
281 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
282 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
284 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
285 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
286 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
290 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
292 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
293 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
295 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
296 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
297 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
301 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
303 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
304 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
306 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
307 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
308 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
311 // reference qualified:
314 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
315 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
317 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
318 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
319 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
323 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
325 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
326 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
328 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
329 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
330 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
334 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
336 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
337 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
339 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
340 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
341 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
345 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
347 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
348 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
350 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
351 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
352 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
355 // rvalue reference qualified:
358 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
359 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
361 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
362 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
363 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
367 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
369 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
370 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
372 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
373 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
374 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
378 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
380 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
381 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
383 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
384 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
385 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
389 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
391 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
392 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
394 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
395 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
396 struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
401 #if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
403 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
404 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
406 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
407 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
408 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
412 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
414 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
415 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
417 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
418 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
419 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
423 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
425 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
426 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
428 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
429 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
430 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
434 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
436 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
437 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
439 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
440 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
441 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
444 // reference qualified:
447 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
448 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
450 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
451 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
452 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
456 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
458 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
459 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
461 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
462 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
463 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
467 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
469 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
470 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
472 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
473 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
474 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
478 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
480 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
481 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
483 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
484 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
485 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
488 // rvalue reference qualified:
491 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
492 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
494 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
495 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
496 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
500 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
502 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
503 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
505 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
506 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
507 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
511 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
513 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
514 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
516 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
517 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
518 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
522 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
524 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
525 struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
527 +#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
528 template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
529 struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};