00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00048 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE
00049 #define STLSOFT_INCL_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE
00050
00051 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00052 # define STLSOFT_VER_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE_MAJOR 1
00053 # define STLSOFT_VER_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE_MINOR 1
00054 # define STLSOFT_VER_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE_REVISION 3
00055 # define STLSOFT_VER_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE_EDIT 10
00056 #endif
00057
00058
00059
00060
00061
00062 #ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT
00063 # include <stlsoft/stlsoft.h>
00064 #endif
00065 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_CAPABILITIES
00066 # include <stlsoft/meta/capabilities.hpp>
00067 #endif
00068 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_N_TYPES
00069 # include <stlsoft/meta/n_types.hpp>
00070 #endif
00071 #ifdef STLSOFT_META_HAS_SELECT_FIRST_TYPE_IF
00072 # ifndef STLSOFT_INCL_STLSOFT_META_HPP_SELECT_FIRST_TYPE_IF
00073 # include <stlsoft/meta/select_first_type_if.hpp>
00074 # endif
00075 #endif
00076 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_YESNO
00077 # include <stlsoft/meta/yesno.hpp>
00078 #endif
00079 #ifndef STLSOFT_INCL_STLSOFT_META_UTIL_HPP_META_
00080 # include <stlsoft/meta/util/meta_.hpp>
00081 #endif
00082
00083
00084
00085
00086
00087 #ifndef _STLSOFT_NO_NAMESPACE
00088 namespace stlsoft
00089 {
00090 #endif
00091
00092
00093
00094
00095
00096 template <ss_typename_param_k R>
00097 one_type is_function_pointer_type_func(R (*)());
00098
00099 template< ss_typename_param_k R
00100 , ss_typename_param_k A0
00101 >
00102 one_type is_function_pointer_type_func(R (*)(A0));
00103
00104 template< ss_typename_param_k R
00105 , ss_typename_param_k A0
00106 , ss_typename_param_k A1
00107 >
00108 one_type is_function_pointer_type_func(R (*)(A0, A1));
00109
00110 template< ss_typename_param_k R
00111 , ss_typename_param_k A0
00112 , ss_typename_param_k A1
00113 , ss_typename_param_k A2
00114 >
00115 one_type is_function_pointer_type_func(R (*)(A0, A1, A2));
00116
00117 template< ss_typename_param_k R
00118 , ss_typename_param_k A0
00119 , ss_typename_param_k A1
00120 , ss_typename_param_k A2
00121 , ss_typename_param_k A3
00122 >
00123 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3));
00124
00125 template< ss_typename_param_k R
00126 , ss_typename_param_k A0
00127 , ss_typename_param_k A1
00128 , ss_typename_param_k A2
00129 , ss_typename_param_k A3
00130 , ss_typename_param_k A4
00131 >
00132 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4));
00133
00134 template< ss_typename_param_k R
00135 , ss_typename_param_k A0
00136 , ss_typename_param_k A1
00137 , ss_typename_param_k A2
00138 , ss_typename_param_k A3
00139 , ss_typename_param_k A4
00140 , ss_typename_param_k A5
00141 >
00142 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5));
00143
00144 template< ss_typename_param_k R
00145 , ss_typename_param_k A0
00146 , ss_typename_param_k A1
00147 , ss_typename_param_k A2
00148 , ss_typename_param_k A3
00149 , ss_typename_param_k A4
00150 , ss_typename_param_k A5
00151 , ss_typename_param_k A6
00152 >
00153 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6));
00154
00155 template< ss_typename_param_k R
00156 , ss_typename_param_k A0
00157 , ss_typename_param_k A1
00158 , ss_typename_param_k A2
00159 , ss_typename_param_k A3
00160 , ss_typename_param_k A4
00161 , ss_typename_param_k A5
00162 , ss_typename_param_k A6
00163 , ss_typename_param_k A7
00164 >
00165 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7));
00166
00167 template< ss_typename_param_k R
00168 , ss_typename_param_k A0
00169 , ss_typename_param_k A1
00170 , ss_typename_param_k A2
00171 , ss_typename_param_k A3
00172 , ss_typename_param_k A4
00173 , ss_typename_param_k A5
00174 , ss_typename_param_k A6
00175 , ss_typename_param_k A7
00176 , ss_typename_param_k A8
00177 >
00178 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8));
00179
00180 template< ss_typename_param_k R
00181 , ss_typename_param_k A0
00182 , ss_typename_param_k A1
00183 , ss_typename_param_k A2
00184 , ss_typename_param_k A3
00185 , ss_typename_param_k A4
00186 , ss_typename_param_k A5
00187 , ss_typename_param_k A6
00188 , ss_typename_param_k A7
00189 , ss_typename_param_k A8
00190 , ss_typename_param_k A9
00191 >
00192 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9));
00193
00194 template< ss_typename_param_k R
00195 , ss_typename_param_k A0
00196 , ss_typename_param_k A1
00197 , ss_typename_param_k A2
00198 , ss_typename_param_k A3
00199 , ss_typename_param_k A4
00200 , ss_typename_param_k A5
00201 , ss_typename_param_k A6
00202 , ss_typename_param_k A7
00203 , ss_typename_param_k A8
00204 , ss_typename_param_k A9
00205 , ss_typename_param_k A10
00206 >
00207 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10));
00208
00209 template< ss_typename_param_k R
00210 , ss_typename_param_k A0
00211 , ss_typename_param_k A1
00212 , ss_typename_param_k A2
00213 , ss_typename_param_k A3
00214 , ss_typename_param_k A4
00215 , ss_typename_param_k A5
00216 , ss_typename_param_k A6
00217 , ss_typename_param_k A7
00218 , ss_typename_param_k A8
00219 , ss_typename_param_k A9
00220 , ss_typename_param_k A10
00221 , ss_typename_param_k A11
00222 >
00223 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11));
00224
00225 template< ss_typename_param_k R
00226 , ss_typename_param_k A0
00227 , ss_typename_param_k A1
00228 , ss_typename_param_k A2
00229 , ss_typename_param_k A3
00230 , ss_typename_param_k A4
00231 , ss_typename_param_k A5
00232 , ss_typename_param_k A6
00233 , ss_typename_param_k A7
00234 , ss_typename_param_k A8
00235 , ss_typename_param_k A9
00236 , ss_typename_param_k A10
00237 , ss_typename_param_k A11
00238 , ss_typename_param_k A12
00239 >
00240 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12));
00241
00242 template< ss_typename_param_k R
00243 , ss_typename_param_k A0
00244 , ss_typename_param_k A1
00245 , ss_typename_param_k A2
00246 , ss_typename_param_k A3
00247 , ss_typename_param_k A4
00248 , ss_typename_param_k A5
00249 , ss_typename_param_k A6
00250 , ss_typename_param_k A7
00251 , ss_typename_param_k A8
00252 , ss_typename_param_k A9
00253 , ss_typename_param_k A10
00254 , ss_typename_param_k A11
00255 , ss_typename_param_k A12
00256 , ss_typename_param_k A13
00257 >
00258 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13));
00259
00260 template< ss_typename_param_k R
00261 , ss_typename_param_k A0
00262 , ss_typename_param_k A1
00263 , ss_typename_param_k A2
00264 , ss_typename_param_k A3
00265 , ss_typename_param_k A4
00266 , ss_typename_param_k A5
00267 , ss_typename_param_k A6
00268 , ss_typename_param_k A7
00269 , ss_typename_param_k A8
00270 , ss_typename_param_k A9
00271 , ss_typename_param_k A10
00272 , ss_typename_param_k A11
00273 , ss_typename_param_k A12
00274 , ss_typename_param_k A13
00275 , ss_typename_param_k A14
00276 >
00277 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14));
00278
00279 template< ss_typename_param_k R
00280 , ss_typename_param_k A0
00281 , ss_typename_param_k A1
00282 , ss_typename_param_k A2
00283 , ss_typename_param_k A3
00284 , ss_typename_param_k A4
00285 , ss_typename_param_k A5
00286 , ss_typename_param_k A6
00287 , ss_typename_param_k A7
00288 , ss_typename_param_k A8
00289 , ss_typename_param_k A9
00290 , ss_typename_param_k A10
00291 , ss_typename_param_k A11
00292 , ss_typename_param_k A12
00293 , ss_typename_param_k A13
00294 , ss_typename_param_k A14
00295 , ss_typename_param_k A15
00296 >
00297 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15));
00298
00299 template< ss_typename_param_k R
00300 , ss_typename_param_k A0
00301 , ss_typename_param_k A1
00302 , ss_typename_param_k A2
00303 , ss_typename_param_k A3
00304 , ss_typename_param_k A4
00305 , ss_typename_param_k A5
00306 , ss_typename_param_k A6
00307 , ss_typename_param_k A7
00308 , ss_typename_param_k A8
00309 , ss_typename_param_k A9
00310 , ss_typename_param_k A10
00311 , ss_typename_param_k A11
00312 , ss_typename_param_k A12
00313 , ss_typename_param_k A13
00314 , ss_typename_param_k A14
00315 , ss_typename_param_k A15
00316 , ss_typename_param_k A16
00317 >
00318 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16));
00319
00320 template< ss_typename_param_k R
00321 , ss_typename_param_k A0
00322 , ss_typename_param_k A1
00323 , ss_typename_param_k A2
00324 , ss_typename_param_k A3
00325 , ss_typename_param_k A4
00326 , ss_typename_param_k A5
00327 , ss_typename_param_k A6
00328 , ss_typename_param_k A7
00329 , ss_typename_param_k A8
00330 , ss_typename_param_k A9
00331 , ss_typename_param_k A10
00332 , ss_typename_param_k A11
00333 , ss_typename_param_k A12
00334 , ss_typename_param_k A13
00335 , ss_typename_param_k A14
00336 , ss_typename_param_k A15
00337 , ss_typename_param_k A16
00338 , ss_typename_param_k A17
00339 >
00340 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17));
00341
00342 template< ss_typename_param_k R
00343 , ss_typename_param_k A0
00344 , ss_typename_param_k A1
00345 , ss_typename_param_k A2
00346 , ss_typename_param_k A3
00347 , ss_typename_param_k A4
00348 , ss_typename_param_k A5
00349 , ss_typename_param_k A6
00350 , ss_typename_param_k A7
00351 , ss_typename_param_k A8
00352 , ss_typename_param_k A9
00353 , ss_typename_param_k A10
00354 , ss_typename_param_k A11
00355 , ss_typename_param_k A12
00356 , ss_typename_param_k A13
00357 , ss_typename_param_k A14
00358 , ss_typename_param_k A15
00359 , ss_typename_param_k A16
00360 , ss_typename_param_k A17
00361 , ss_typename_param_k A18
00362 >
00363 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18));
00364
00365 template< ss_typename_param_k R
00366 , ss_typename_param_k A0
00367 , ss_typename_param_k A1
00368 , ss_typename_param_k A2
00369 , ss_typename_param_k A3
00370 , ss_typename_param_k A4
00371 , ss_typename_param_k A5
00372 , ss_typename_param_k A6
00373 , ss_typename_param_k A7
00374 , ss_typename_param_k A8
00375 , ss_typename_param_k A9
00376 , ss_typename_param_k A10
00377 , ss_typename_param_k A11
00378 , ss_typename_param_k A12
00379 , ss_typename_param_k A13
00380 , ss_typename_param_k A14
00381 , ss_typename_param_k A15
00382 , ss_typename_param_k A16
00383 , ss_typename_param_k A17
00384 , ss_typename_param_k A18
00385 , ss_typename_param_k A19
00386 >
00387 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19));
00388
00389 template< ss_typename_param_k R
00390 , ss_typename_param_k A0
00391 , ss_typename_param_k A1
00392 , ss_typename_param_k A2
00393 , ss_typename_param_k A3
00394 , ss_typename_param_k A4
00395 , ss_typename_param_k A5
00396 , ss_typename_param_k A6
00397 , ss_typename_param_k A7
00398 , ss_typename_param_k A8
00399 , ss_typename_param_k A9
00400 , ss_typename_param_k A10
00401 , ss_typename_param_k A11
00402 , ss_typename_param_k A12
00403 , ss_typename_param_k A13
00404 , ss_typename_param_k A14
00405 , ss_typename_param_k A15
00406 , ss_typename_param_k A16
00407 , ss_typename_param_k A17
00408 , ss_typename_param_k A18
00409 , ss_typename_param_k A19
00410 , ss_typename_param_k A20
00411 >
00412 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20));
00413
00414 template< ss_typename_param_k R
00415 , ss_typename_param_k A0
00416 , ss_typename_param_k A1
00417 , ss_typename_param_k A2
00418 , ss_typename_param_k A3
00419 , ss_typename_param_k A4
00420 , ss_typename_param_k A5
00421 , ss_typename_param_k A6
00422 , ss_typename_param_k A7
00423 , ss_typename_param_k A8
00424 , ss_typename_param_k A9
00425 , ss_typename_param_k A10
00426 , ss_typename_param_k A11
00427 , ss_typename_param_k A12
00428 , ss_typename_param_k A13
00429 , ss_typename_param_k A14
00430 , ss_typename_param_k A15
00431 , ss_typename_param_k A16
00432 , ss_typename_param_k A17
00433 , ss_typename_param_k A18
00434 , ss_typename_param_k A19
00435 , ss_typename_param_k A20
00436 , ss_typename_param_k A21
00437 >
00438 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21));
00439
00440 template< ss_typename_param_k R
00441 , ss_typename_param_k A0
00442 , ss_typename_param_k A1
00443 , ss_typename_param_k A2
00444 , ss_typename_param_k A3
00445 , ss_typename_param_k A4
00446 , ss_typename_param_k A5
00447 , ss_typename_param_k A6
00448 , ss_typename_param_k A7
00449 , ss_typename_param_k A8
00450 , ss_typename_param_k A9
00451 , ss_typename_param_k A10
00452 , ss_typename_param_k A11
00453 , ss_typename_param_k A12
00454 , ss_typename_param_k A13
00455 , ss_typename_param_k A14
00456 , ss_typename_param_k A15
00457 , ss_typename_param_k A16
00458 , ss_typename_param_k A17
00459 , ss_typename_param_k A18
00460 , ss_typename_param_k A19
00461 , ss_typename_param_k A20
00462 , ss_typename_param_k A21
00463 , ss_typename_param_k A22
00464 >
00465 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22));
00466
00467 template< ss_typename_param_k R
00468 , ss_typename_param_k A0
00469 , ss_typename_param_k A1
00470 , ss_typename_param_k A2
00471 , ss_typename_param_k A3
00472 , ss_typename_param_k A4
00473 , ss_typename_param_k A5
00474 , ss_typename_param_k A6
00475 , ss_typename_param_k A7
00476 , ss_typename_param_k A8
00477 , ss_typename_param_k A9
00478 , ss_typename_param_k A10
00479 , ss_typename_param_k A11
00480 , ss_typename_param_k A12
00481 , ss_typename_param_k A13
00482 , ss_typename_param_k A14
00483 , ss_typename_param_k A15
00484 , ss_typename_param_k A16
00485 , ss_typename_param_k A17
00486 , ss_typename_param_k A18
00487 , ss_typename_param_k A19
00488 , ss_typename_param_k A20
00489 , ss_typename_param_k A21
00490 , ss_typename_param_k A22
00491 , ss_typename_param_k A23
00492 >
00493 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23));
00494
00495 template< ss_typename_param_k R
00496 , ss_typename_param_k A0
00497 , ss_typename_param_k A1
00498 , ss_typename_param_k A2
00499 , ss_typename_param_k A3
00500 , ss_typename_param_k A4
00501 , ss_typename_param_k A5
00502 , ss_typename_param_k A6
00503 , ss_typename_param_k A7
00504 , ss_typename_param_k A8
00505 , ss_typename_param_k A9
00506 , ss_typename_param_k A10
00507 , ss_typename_param_k A11
00508 , ss_typename_param_k A12
00509 , ss_typename_param_k A13
00510 , ss_typename_param_k A14
00511 , ss_typename_param_k A15
00512 , ss_typename_param_k A16
00513 , ss_typename_param_k A17
00514 , ss_typename_param_k A18
00515 , ss_typename_param_k A19
00516 , ss_typename_param_k A20
00517 , ss_typename_param_k A21
00518 , ss_typename_param_k A22
00519 , ss_typename_param_k A23
00520 , ss_typename_param_k A24
00521 >
00522 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24));
00523
00524 template< ss_typename_param_k R
00525 , ss_typename_param_k A0
00526 , ss_typename_param_k A1
00527 , ss_typename_param_k A2
00528 , ss_typename_param_k A3
00529 , ss_typename_param_k A4
00530 , ss_typename_param_k A5
00531 , ss_typename_param_k A6
00532 , ss_typename_param_k A7
00533 , ss_typename_param_k A8
00534 , ss_typename_param_k A9
00535 , ss_typename_param_k A10
00536 , ss_typename_param_k A11
00537 , ss_typename_param_k A12
00538 , ss_typename_param_k A13
00539 , ss_typename_param_k A14
00540 , ss_typename_param_k A15
00541 , ss_typename_param_k A16
00542 , ss_typename_param_k A17
00543 , ss_typename_param_k A18
00544 , ss_typename_param_k A19
00545 , ss_typename_param_k A20
00546 , ss_typename_param_k A21
00547 , ss_typename_param_k A22
00548 , ss_typename_param_k A23
00549 , ss_typename_param_k A24
00550 , ss_typename_param_k A25
00551 >
00552 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25));
00553
00554 template< ss_typename_param_k R
00555 , ss_typename_param_k A0
00556 , ss_typename_param_k A1
00557 , ss_typename_param_k A2
00558 , ss_typename_param_k A3
00559 , ss_typename_param_k A4
00560 , ss_typename_param_k A5
00561 , ss_typename_param_k A6
00562 , ss_typename_param_k A7
00563 , ss_typename_param_k A8
00564 , ss_typename_param_k A9
00565 , ss_typename_param_k A10
00566 , ss_typename_param_k A11
00567 , ss_typename_param_k A12
00568 , ss_typename_param_k A13
00569 , ss_typename_param_k A14
00570 , ss_typename_param_k A15
00571 , ss_typename_param_k A16
00572 , ss_typename_param_k A17
00573 , ss_typename_param_k A18
00574 , ss_typename_param_k A19
00575 , ss_typename_param_k A20
00576 , ss_typename_param_k A21
00577 , ss_typename_param_k A22
00578 , ss_typename_param_k A23
00579 , ss_typename_param_k A24
00580 , ss_typename_param_k A25
00581 , ss_typename_param_k A26
00582 >
00583 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26));
00584
00585 template< ss_typename_param_k R
00586 , ss_typename_param_k A0
00587 , ss_typename_param_k A1
00588 , ss_typename_param_k A2
00589 , ss_typename_param_k A3
00590 , ss_typename_param_k A4
00591 , ss_typename_param_k A5
00592 , ss_typename_param_k A6
00593 , ss_typename_param_k A7
00594 , ss_typename_param_k A8
00595 , ss_typename_param_k A9
00596 , ss_typename_param_k A10
00597 , ss_typename_param_k A11
00598 , ss_typename_param_k A12
00599 , ss_typename_param_k A13
00600 , ss_typename_param_k A14
00601 , ss_typename_param_k A15
00602 , ss_typename_param_k A16
00603 , ss_typename_param_k A17
00604 , ss_typename_param_k A18
00605 , ss_typename_param_k A19
00606 , ss_typename_param_k A20
00607 , ss_typename_param_k A21
00608 , ss_typename_param_k A22
00609 , ss_typename_param_k A23
00610 , ss_typename_param_k A24
00611 , ss_typename_param_k A25
00612 , ss_typename_param_k A26
00613 , ss_typename_param_k A27
00614 >
00615 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27));
00616
00617 template< ss_typename_param_k R
00618 , ss_typename_param_k A0
00619 , ss_typename_param_k A1
00620 , ss_typename_param_k A2
00621 , ss_typename_param_k A3
00622 , ss_typename_param_k A4
00623 , ss_typename_param_k A5
00624 , ss_typename_param_k A6
00625 , ss_typename_param_k A7
00626 , ss_typename_param_k A8
00627 , ss_typename_param_k A9
00628 , ss_typename_param_k A10
00629 , ss_typename_param_k A11
00630 , ss_typename_param_k A12
00631 , ss_typename_param_k A13
00632 , ss_typename_param_k A14
00633 , ss_typename_param_k A15
00634 , ss_typename_param_k A16
00635 , ss_typename_param_k A17
00636 , ss_typename_param_k A18
00637 , ss_typename_param_k A19
00638 , ss_typename_param_k A20
00639 , ss_typename_param_k A21
00640 , ss_typename_param_k A22
00641 , ss_typename_param_k A23
00642 , ss_typename_param_k A24
00643 , ss_typename_param_k A25
00644 , ss_typename_param_k A26
00645 , ss_typename_param_k A27
00646 , ss_typename_param_k A28
00647 >
00648 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28));
00649
00650 template< ss_typename_param_k R
00651 , ss_typename_param_k A0
00652 , ss_typename_param_k A1
00653 , ss_typename_param_k A2
00654 , ss_typename_param_k A3
00655 , ss_typename_param_k A4
00656 , ss_typename_param_k A5
00657 , ss_typename_param_k A6
00658 , ss_typename_param_k A7
00659 , ss_typename_param_k A8
00660 , ss_typename_param_k A9
00661 , ss_typename_param_k A10
00662 , ss_typename_param_k A11
00663 , ss_typename_param_k A12
00664 , ss_typename_param_k A13
00665 , ss_typename_param_k A14
00666 , ss_typename_param_k A15
00667 , ss_typename_param_k A16
00668 , ss_typename_param_k A17
00669 , ss_typename_param_k A18
00670 , ss_typename_param_k A19
00671 , ss_typename_param_k A20
00672 , ss_typename_param_k A21
00673 , ss_typename_param_k A22
00674 , ss_typename_param_k A23
00675 , ss_typename_param_k A24
00676 , ss_typename_param_k A25
00677 , ss_typename_param_k A26
00678 , ss_typename_param_k A27
00679 , ss_typename_param_k A28
00680 , ss_typename_param_k A29
00681 >
00682 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29));
00683
00684 template< ss_typename_param_k R
00685 , ss_typename_param_k A0
00686 , ss_typename_param_k A1
00687 , ss_typename_param_k A2
00688 , ss_typename_param_k A3
00689 , ss_typename_param_k A4
00690 , ss_typename_param_k A5
00691 , ss_typename_param_k A6
00692 , ss_typename_param_k A7
00693 , ss_typename_param_k A8
00694 , ss_typename_param_k A9
00695 , ss_typename_param_k A10
00696 , ss_typename_param_k A11
00697 , ss_typename_param_k A12
00698 , ss_typename_param_k A13
00699 , ss_typename_param_k A14
00700 , ss_typename_param_k A15
00701 , ss_typename_param_k A16
00702 , ss_typename_param_k A17
00703 , ss_typename_param_k A18
00704 , ss_typename_param_k A19
00705 , ss_typename_param_k A20
00706 , ss_typename_param_k A21
00707 , ss_typename_param_k A22
00708 , ss_typename_param_k A23
00709 , ss_typename_param_k A24
00710 , ss_typename_param_k A25
00711 , ss_typename_param_k A26
00712 , ss_typename_param_k A27
00713 , ss_typename_param_k A28
00714 , ss_typename_param_k A29
00715 , ss_typename_param_k A30
00716 >
00717 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30));
00718
00719 template< ss_typename_param_k R
00720 , ss_typename_param_k A0
00721 , ss_typename_param_k A1
00722 , ss_typename_param_k A2
00723 , ss_typename_param_k A3
00724 , ss_typename_param_k A4
00725 , ss_typename_param_k A5
00726 , ss_typename_param_k A6
00727 , ss_typename_param_k A7
00728 , ss_typename_param_k A8
00729 , ss_typename_param_k A9
00730 , ss_typename_param_k A10
00731 , ss_typename_param_k A11
00732 , ss_typename_param_k A12
00733 , ss_typename_param_k A13
00734 , ss_typename_param_k A14
00735 , ss_typename_param_k A15
00736 , ss_typename_param_k A16
00737 , ss_typename_param_k A17
00738 , ss_typename_param_k A18
00739 , ss_typename_param_k A19
00740 , ss_typename_param_k A20
00741 , ss_typename_param_k A21
00742 , ss_typename_param_k A22
00743 , ss_typename_param_k A23
00744 , ss_typename_param_k A24
00745 , ss_typename_param_k A25
00746 , ss_typename_param_k A26
00747 , ss_typename_param_k A27
00748 , ss_typename_param_k A28
00749 , ss_typename_param_k A29
00750 , ss_typename_param_k A30
00751 , ss_typename_param_k A31
00752 >
00753 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31));
00754
00755 template< ss_typename_param_k R
00756 , ss_typename_param_k A0
00757 , ss_typename_param_k A1
00758 , ss_typename_param_k A2
00759 , ss_typename_param_k A3
00760 , ss_typename_param_k A4
00761 , ss_typename_param_k A5
00762 , ss_typename_param_k A6
00763 , ss_typename_param_k A7
00764 , ss_typename_param_k A8
00765 , ss_typename_param_k A9
00766 , ss_typename_param_k A10
00767 , ss_typename_param_k A11
00768 , ss_typename_param_k A12
00769 , ss_typename_param_k A13
00770 , ss_typename_param_k A14
00771 , ss_typename_param_k A15
00772 , ss_typename_param_k A16
00773 , ss_typename_param_k A17
00774 , ss_typename_param_k A18
00775 , ss_typename_param_k A19
00776 , ss_typename_param_k A20
00777 , ss_typename_param_k A21
00778 , ss_typename_param_k A22
00779 , ss_typename_param_k A23
00780 , ss_typename_param_k A24
00781 , ss_typename_param_k A25
00782 , ss_typename_param_k A26
00783 , ss_typename_param_k A27
00784 , ss_typename_param_k A28
00785 , ss_typename_param_k A29
00786 , ss_typename_param_k A30
00787 , ss_typename_param_k A31
00788 , ss_typename_param_k A32
00789 >
00790 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32));
00791
00792 template< ss_typename_param_k R
00793 , ss_typename_param_k A0
00794 , ss_typename_param_k A1
00795 , ss_typename_param_k A2
00796 , ss_typename_param_k A3
00797 , ss_typename_param_k A4
00798 , ss_typename_param_k A5
00799 , ss_typename_param_k A6
00800 , ss_typename_param_k A7
00801 , ss_typename_param_k A8
00802 , ss_typename_param_k A9
00803 , ss_typename_param_k A10
00804 , ss_typename_param_k A11
00805 , ss_typename_param_k A12
00806 , ss_typename_param_k A13
00807 , ss_typename_param_k A14
00808 , ss_typename_param_k A15
00809 , ss_typename_param_k A16
00810 , ss_typename_param_k A17
00811 , ss_typename_param_k A18
00812 , ss_typename_param_k A19
00813 , ss_typename_param_k A20
00814 , ss_typename_param_k A21
00815 , ss_typename_param_k A22
00816 , ss_typename_param_k A23
00817 , ss_typename_param_k A24
00818 , ss_typename_param_k A25
00819 , ss_typename_param_k A26
00820 , ss_typename_param_k A27
00821 , ss_typename_param_k A28
00822 , ss_typename_param_k A29
00823 , ss_typename_param_k A30
00824 , ss_typename_param_k A31
00825 , ss_typename_param_k A32
00826 , ss_typename_param_k A33
00827 >
00828 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33));
00829
00830 template< ss_typename_param_k R
00831 , ss_typename_param_k A0
00832 , ss_typename_param_k A1
00833 , ss_typename_param_k A2
00834 , ss_typename_param_k A3
00835 , ss_typename_param_k A4
00836 , ss_typename_param_k A5
00837 , ss_typename_param_k A6
00838 , ss_typename_param_k A7
00839 , ss_typename_param_k A8
00840 , ss_typename_param_k A9
00841 , ss_typename_param_k A10
00842 , ss_typename_param_k A11
00843 , ss_typename_param_k A12
00844 , ss_typename_param_k A13
00845 , ss_typename_param_k A14
00846 , ss_typename_param_k A15
00847 , ss_typename_param_k A16
00848 , ss_typename_param_k A17
00849 , ss_typename_param_k A18
00850 , ss_typename_param_k A19
00851 , ss_typename_param_k A20
00852 , ss_typename_param_k A21
00853 , ss_typename_param_k A22
00854 , ss_typename_param_k A23
00855 , ss_typename_param_k A24
00856 , ss_typename_param_k A25
00857 , ss_typename_param_k A26
00858 , ss_typename_param_k A27
00859 , ss_typename_param_k A28
00860 , ss_typename_param_k A29
00861 , ss_typename_param_k A30
00862 , ss_typename_param_k A31
00863 , ss_typename_param_k A32
00864 , ss_typename_param_k A33
00865 , ss_typename_param_k A34
00866 >
00867 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34));
00868
00869 template< ss_typename_param_k R
00870 , ss_typename_param_k A0
00871 , ss_typename_param_k A1
00872 , ss_typename_param_k A2
00873 , ss_typename_param_k A3
00874 , ss_typename_param_k A4
00875 , ss_typename_param_k A5
00876 , ss_typename_param_k A6
00877 , ss_typename_param_k A7
00878 , ss_typename_param_k A8
00879 , ss_typename_param_k A9
00880 , ss_typename_param_k A10
00881 , ss_typename_param_k A11
00882 , ss_typename_param_k A12
00883 , ss_typename_param_k A13
00884 , ss_typename_param_k A14
00885 , ss_typename_param_k A15
00886 , ss_typename_param_k A16
00887 , ss_typename_param_k A17
00888 , ss_typename_param_k A18
00889 , ss_typename_param_k A19
00890 , ss_typename_param_k A20
00891 , ss_typename_param_k A21
00892 , ss_typename_param_k A22
00893 , ss_typename_param_k A23
00894 , ss_typename_param_k A24
00895 , ss_typename_param_k A25
00896 , ss_typename_param_k A26
00897 , ss_typename_param_k A27
00898 , ss_typename_param_k A28
00899 , ss_typename_param_k A29
00900 , ss_typename_param_k A30
00901 , ss_typename_param_k A31
00902 , ss_typename_param_k A32
00903 , ss_typename_param_k A33
00904 , ss_typename_param_k A34
00905 , ss_typename_param_k A35
00906 >
00907 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35));
00908
00909 template< ss_typename_param_k R
00910 , ss_typename_param_k A0
00911 , ss_typename_param_k A1
00912 , ss_typename_param_k A2
00913 , ss_typename_param_k A3
00914 , ss_typename_param_k A4
00915 , ss_typename_param_k A5
00916 , ss_typename_param_k A6
00917 , ss_typename_param_k A7
00918 , ss_typename_param_k A8
00919 , ss_typename_param_k A9
00920 , ss_typename_param_k A10
00921 , ss_typename_param_k A11
00922 , ss_typename_param_k A12
00923 , ss_typename_param_k A13
00924 , ss_typename_param_k A14
00925 , ss_typename_param_k A15
00926 , ss_typename_param_k A16
00927 , ss_typename_param_k A17
00928 , ss_typename_param_k A18
00929 , ss_typename_param_k A19
00930 , ss_typename_param_k A20
00931 , ss_typename_param_k A21
00932 , ss_typename_param_k A22
00933 , ss_typename_param_k A23
00934 , ss_typename_param_k A24
00935 , ss_typename_param_k A25
00936 , ss_typename_param_k A26
00937 , ss_typename_param_k A27
00938 , ss_typename_param_k A28
00939 , ss_typename_param_k A29
00940 , ss_typename_param_k A30
00941 , ss_typename_param_k A31
00942 , ss_typename_param_k A32
00943 , ss_typename_param_k A33
00944 , ss_typename_param_k A34
00945 , ss_typename_param_k A35
00946 , ss_typename_param_k A36
00947 >
00948 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36));
00949
00950 template< ss_typename_param_k R
00951 , ss_typename_param_k A0
00952 , ss_typename_param_k A1
00953 , ss_typename_param_k A2
00954 , ss_typename_param_k A3
00955 , ss_typename_param_k A4
00956 , ss_typename_param_k A5
00957 , ss_typename_param_k A6
00958 , ss_typename_param_k A7
00959 , ss_typename_param_k A8
00960 , ss_typename_param_k A9
00961 , ss_typename_param_k A10
00962 , ss_typename_param_k A11
00963 , ss_typename_param_k A12
00964 , ss_typename_param_k A13
00965 , ss_typename_param_k A14
00966 , ss_typename_param_k A15
00967 , ss_typename_param_k A16
00968 , ss_typename_param_k A17
00969 , ss_typename_param_k A18
00970 , ss_typename_param_k A19
00971 , ss_typename_param_k A20
00972 , ss_typename_param_k A21
00973 , ss_typename_param_k A22
00974 , ss_typename_param_k A23
00975 , ss_typename_param_k A24
00976 , ss_typename_param_k A25
00977 , ss_typename_param_k A26
00978 , ss_typename_param_k A27
00979 , ss_typename_param_k A28
00980 , ss_typename_param_k A29
00981 , ss_typename_param_k A30
00982 , ss_typename_param_k A31
00983 , ss_typename_param_k A32
00984 , ss_typename_param_k A33
00985 , ss_typename_param_k A34
00986 , ss_typename_param_k A35
00987 , ss_typename_param_k A36
00988 , ss_typename_param_k A37
00989 >
00990 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37));
00991
00992 template< ss_typename_param_k R
00993 , ss_typename_param_k A0
00994 , ss_typename_param_k A1
00995 , ss_typename_param_k A2
00996 , ss_typename_param_k A3
00997 , ss_typename_param_k A4
00998 , ss_typename_param_k A5
00999 , ss_typename_param_k A6
01000 , ss_typename_param_k A7
01001 , ss_typename_param_k A8
01002 , ss_typename_param_k A9
01003 , ss_typename_param_k A10
01004 , ss_typename_param_k A11
01005 , ss_typename_param_k A12
01006 , ss_typename_param_k A13
01007 , ss_typename_param_k A14
01008 , ss_typename_param_k A15
01009 , ss_typename_param_k A16
01010 , ss_typename_param_k A17
01011 , ss_typename_param_k A18
01012 , ss_typename_param_k A19
01013 , ss_typename_param_k A20
01014 , ss_typename_param_k A21
01015 , ss_typename_param_k A22
01016 , ss_typename_param_k A23
01017 , ss_typename_param_k A24
01018 , ss_typename_param_k A25
01019 , ss_typename_param_k A26
01020 , ss_typename_param_k A27
01021 , ss_typename_param_k A28
01022 , ss_typename_param_k A29
01023 , ss_typename_param_k A30
01024 , ss_typename_param_k A31
01025 , ss_typename_param_k A32
01026 , ss_typename_param_k A33
01027 , ss_typename_param_k A34
01028 , ss_typename_param_k A35
01029 , ss_typename_param_k A36
01030 , ss_typename_param_k A37
01031 , ss_typename_param_k A38
01032 >
01033 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38));
01034
01035 template< ss_typename_param_k R
01036 , ss_typename_param_k A0
01037 , ss_typename_param_k A1
01038 , ss_typename_param_k A2
01039 , ss_typename_param_k A3
01040 , ss_typename_param_k A4
01041 , ss_typename_param_k A5
01042 , ss_typename_param_k A6
01043 , ss_typename_param_k A7
01044 , ss_typename_param_k A8
01045 , ss_typename_param_k A9
01046 , ss_typename_param_k A10
01047 , ss_typename_param_k A11
01048 , ss_typename_param_k A12
01049 , ss_typename_param_k A13
01050 , ss_typename_param_k A14
01051 , ss_typename_param_k A15
01052 , ss_typename_param_k A16
01053 , ss_typename_param_k A17
01054 , ss_typename_param_k A18
01055 , ss_typename_param_k A19
01056 , ss_typename_param_k A20
01057 , ss_typename_param_k A21
01058 , ss_typename_param_k A22
01059 , ss_typename_param_k A23
01060 , ss_typename_param_k A24
01061 , ss_typename_param_k A25
01062 , ss_typename_param_k A26
01063 , ss_typename_param_k A27
01064 , ss_typename_param_k A28
01065 , ss_typename_param_k A29
01066 , ss_typename_param_k A30
01067 , ss_typename_param_k A31
01068 , ss_typename_param_k A32
01069 , ss_typename_param_k A33
01070 , ss_typename_param_k A34
01071 , ss_typename_param_k A35
01072 , ss_typename_param_k A36
01073 , ss_typename_param_k A37
01074 , ss_typename_param_k A38
01075 , ss_typename_param_k A39
01076 >
01077 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39));
01078
01079 template< ss_typename_param_k R
01080 , ss_typename_param_k A0
01081 , ss_typename_param_k A1
01082 , ss_typename_param_k A2
01083 , ss_typename_param_k A3
01084 , ss_typename_param_k A4
01085 , ss_typename_param_k A5
01086 , ss_typename_param_k A6
01087 , ss_typename_param_k A7
01088 , ss_typename_param_k A8
01089 , ss_typename_param_k A9
01090 , ss_typename_param_k A10
01091 , ss_typename_param_k A11
01092 , ss_typename_param_k A12
01093 , ss_typename_param_k A13
01094 , ss_typename_param_k A14
01095 , ss_typename_param_k A15
01096 , ss_typename_param_k A16
01097 , ss_typename_param_k A17
01098 , ss_typename_param_k A18
01099 , ss_typename_param_k A19
01100 , ss_typename_param_k A20
01101 , ss_typename_param_k A21
01102 , ss_typename_param_k A22
01103 , ss_typename_param_k A23
01104 , ss_typename_param_k A24
01105 , ss_typename_param_k A25
01106 , ss_typename_param_k A26
01107 , ss_typename_param_k A27
01108 , ss_typename_param_k A28
01109 , ss_typename_param_k A29
01110 , ss_typename_param_k A30
01111 , ss_typename_param_k A31
01112 , ss_typename_param_k A32
01113 , ss_typename_param_k A33
01114 , ss_typename_param_k A34
01115 , ss_typename_param_k A35
01116 , ss_typename_param_k A36
01117 , ss_typename_param_k A37
01118 , ss_typename_param_k A38
01119 , ss_typename_param_k A39
01120 , ss_typename_param_k A40
01121 >
01122 one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A40));
01123
01124 two_type is_function_pointer_type_func(...);
01125
01131 template <ss_typename_param_k T>
01132 struct is_function_pointer_type
01133 {
01134 typedef T test_type;
01135
01136 private:
01137 static T t;
01138 public:
01139 enum { value = sizeof(is_function_pointer_type_func(t)) == sizeof(one_type) };
01140
01141 #ifdef STLSOFT_META_HAS_SELECT_FIRST_TYPE_IF
01142 typedef ss_typename_type_k select_first_type_if<yes_type, no_type, value>::type type;
01143 #endif
01144 };
01145
01146
01147
01148 #ifndef _STLSOFT_NO_NAMESPACE
01149 }
01150 #endif
01151
01152
01153
01154 #endif
01155
01156