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
00047 #ifndef WINSTL_INCL_WINSTL_DL_HPP_DL_CALL
00048 #define WINSTL_INCL_WINSTL_DL_HPP_DL_CALL
00049
00050 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00051 # define WINSTL_VER_WINSTL_DL_HPP_DL_CALL_MAJOR 2
00052 # define WINSTL_VER_WINSTL_DL_HPP_DL_CALL_MINOR 7
00053 # define WINSTL_VER_WINSTL_DL_HPP_DL_CALL_REVISION 3
00054 # define WINSTL_VER_WINSTL_DL_HPP_DL_CALL_EDIT 47
00055 #endif
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 #ifndef WINSTL_INCL_WINSTL_H_WINSTL
00074 # include <winstl/winstl.h>
00075 #endif
00076
00077 #if defined(STLSOFT_COMPILER_IS_COMO)
00078 # error dl_call is not compatible with Como, which experienced an ICE
00079 #endif
00080 #if defined(STLSOFT_COMPILER_IS_WATCOM)
00081 # error dl_call is not compatible with Watcom, which does not have sufficient template support
00082 #endif
00083
00084
00085 #ifndef WINSTL_INCL_WINSTL_ERROR_HPP_WINDOWS_EXCEPTIONS
00086 # include <winstl/error/exceptions.hpp>
00087 #endif
00088 #ifndef WINSTL_INCL_WINSTL_DL_HPP_MODULE
00089 # include <winstl/dl/module.hpp>
00090 #endif
00091 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE
00092 # include <stlsoft/meta/is_function_pointer_type.hpp>
00093 #endif
00094 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_IS_FUNDAMENTAL_TYPE
00095 # include <stlsoft/meta/is_fundamental_type.hpp>
00096 #endif
00097 #ifndef STLSOFT_INCL_STLSOFT_META_HPP_IS_POINTER_TYPE
00098 # include <stlsoft/meta/is_pointer_type.hpp>
00099 #endif
00100 #ifndef STLSOFT_INCL_STLSOFT_STRING_HPP_SPLIT_FUNCTIONS
00101 # include <stlsoft/string/split_functions.hpp>
00102 #endif
00103 #ifndef STLSOFT_INCL_STLSOFT_STRING_HPP_STRING_VIEW
00104 # include <stlsoft/string/string_view.hpp>
00105 #endif
00106 #ifndef STLSOFT_INCL_STLSOFT_SHIMS_ACCESS_HPP_STRING
00107 # include <stlsoft/shims/access/string.hpp>
00108 #endif
00109
00110
00111
00112
00113
00114 #ifndef _WINSTL_NO_NAMESPACE
00115 # if defined(_STLSOFT_NO_NAMESPACE) || \
00116 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00117
00118 namespace winstl
00119 {
00120 # else
00121
00122
00123 namespace stlsoft
00124 {
00125
00126 namespace winstl_project
00127 {
00128
00129 # endif
00130 #endif
00131
00132
00133
00134
00135
00136 #if defined(STLSOFT_COMPILER_IS_MSVC) && \
00137 _MSC_VER < 1200
00138 # define WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
00139 #endif
00140
00141
00142
00143
00144
00153 #if defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00154 # define WINSTL_DL_CALL_WINx_STDCALL_LITERAL(name) <appropriate prefix> name
00155 #elif defined(WINSTL_OS_IS_WIN64)
00156 # define WINSTL_DL_CALL_WINx_STDCALL_LITERAL(name) "cdecl:" name
00157 #elif defined(WINSTL_OS_IS_WIN32)
00158 # define WINSTL_DL_CALL_WINx_STDCALL_LITERAL(name) "stdcall:" name
00159 #else
00160 # error Windows operating system not recognised
00161 #endif
00162
00163
00164
00165
00166
00171 class missing_entry_point_exception
00172 : public windows_exception
00173 {
00176 public:
00177 typedef windows_exception parent_class_type;
00178 typedef missing_entry_point_exception class_type;
00179 private:
00180 typedef parent_class_type::string_type string_type;
00181 public:
00182 typedef parent_class_type::error_code_type error_code_type;
00184
00187 public:
00190 missing_entry_point_exception(char const* functionName, error_code_type err)
00191 : parent_class_type(class_type::create_reason_(functionName), err)
00192 {}
00193 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00194 virtual ~missing_entry_point_exception() stlsoft_throw_0()
00195 {}
00196 #endif
00198
00201 private:
00202 static string_type create_reason_(char const* functionName)
00203 {
00204 string_type reason("Failed to find procedure \"");
00205
00206 return reason + functionName + '"';
00207 }
00209
00212 private:
00213 class_type& operator =(class_type const&);
00215 };
00216
00221 class invalid_calling_convention_exception
00222 : public windows_exception
00223 {
00226 public:
00227 typedef windows_exception parent_class_type;
00228 typedef invalid_calling_convention_exception class_type;
00229 private:
00230 typedef parent_class_type::string_type string_type;
00231 public:
00232 typedef parent_class_type::error_code_type error_code_type;
00234
00237 public:
00240 invalid_calling_convention_exception(char const* callingConventionSpecifier)
00241 : parent_class_type(class_type::create_reason_(callingConventionSpecifier), ERROR_INVALID_FUNCTION)
00242 , m_ccs(callingConventionSpecifier)
00243 {}
00244 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00245 virtual ~invalid_calling_convention_exception() stlsoft_throw_0()
00246 {}
00247 #endif
00249
00252 public:
00253 string_type const& get_specifier() const
00254 {
00255 return m_ccs;
00256 }
00258
00261 private:
00262 static string_type create_reason_(char const* callingConventionSpecifier)
00263 {
00264 return "Unrecognised or unsupported calling convention \"" + string_type(callingConventionSpecifier) + '"';
00265 }
00267
00270 private:
00271 const string_type m_ccs;
00273
00274
00276 private:
00277 class_type& operator =(class_type const&);
00279 };
00280
00281
00282
00283
00284
00285 namespace calling_convention
00286 {
00289 enum calling_convention
00290 {
00291 unknownCallConv = -1
00292 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00293 , cdeclCallConv = STLSOFT_CDECL_VALUE
00294 #endif
00295 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00296 , fastcallCallConv = STLSOFT_FASTCALL_VALUE
00297 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00298 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00299 , stdcallCallConv = STLSOFT_STDCALL_VALUE
00300 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00301 };
00302
00303 inline calling_convention from_int(int i)
00304 {
00305 switch(i)
00306 {
00307 default:
00308 STLSOFT_MESSAGE_ASSERT("Invalid/unrecognised calling convention specifier. cdecl will be assumed", 0);
00309 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00310 case cdeclCallConv:
00311 return cdeclCallConv;
00312 #endif
00313 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00314 case fastcallCallConv:
00315 return fastcallCallConv;
00316 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00317 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00318 case stdcallCallConv:
00319 return stdcallCallConv;
00320 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00321 }
00322 }
00323
00324 }
00325
00326
00327
00331 struct function_descriptor_base
00332 {
00333 operator function_descriptor_base const* () const
00334 {
00335 return this;
00336 }
00337 };
00338
00344 template< int CC
00345 , ss_typename_param_k S
00346 >
00347 struct function_descriptor
00348 : public function_descriptor_base
00349 {
00350 enum { value = CC };
00351
00352 ss_explicit_k function_descriptor(S const& functionName)
00353 : FunctionName(functionName)
00354 , CallingConvention(CC)
00355 {
00356 #if defined(STLSOFT_CF_FASTCALL_SUPPORTED)
00357 # if defined(STLSOFT_CF_STDCALL_SUPPORTED)
00358 STLSOFT_STATIC_ASSERT( CC == calling_convention::cdeclCallConv || CC == calling_convention::fastcallCallConv || CC == calling_convention::stdcallCallConv);
00359 # else
00360 STLSOFT_STATIC_ASSERT( CC == calling_convention::cdeclCallConv || CC == calling_convention::fastcallCallConv);
00361 # endif
00362 #else
00363 # if defined(STLSOFT_CF_STDCALL_SUPPORTED)
00364 STLSOFT_STATIC_ASSERT( CC == calling_convention::cdeclCallConv || CC == calling_convention::stdcallCallConv);
00365 # else
00366 STLSOFT_STATIC_ASSERT( CC == calling_convention::cdeclCallConv);
00367 # endif
00368 #endif
00369 }
00370
00371 ss_explicit_k function_descriptor(S const& functionName, int cc)
00372 : FunctionName(functionName)
00373 , CallingConvention(cc)
00374 {}
00375
00376 S const& FunctionName;
00377 const int CallingConvention;
00378
00379 private:
00380 function_descriptor& operator =(function_descriptor const&);
00381 };
00382
00383 template< int cc
00384 , ss_typename_param_k S
00385 >
00386 inline function_descriptor<cc, S> fn_desc(S const& functionName)
00387 {
00388 return function_descriptor<cc, S>(functionName);
00389 }
00390
00391 template< ss_typename_param_k S
00392 >
00393 inline function_descriptor<0, S> fn_desc(int cc, S const& functionName)
00394 {
00395 return function_descriptor<0, S>(functionName, cc);
00396 }
00397
00398
00399
00400
00401
00429 template<ss_typename_param_k T>
00430 struct is_valid_dl_call_arg
00431 {
00432 enum { value = 0 };
00433 };
00434
00440 struct dl_call_traits
00441 {
00444 public:
00445 typedef FARPROC entry_point_type;
00446 typedef HINSTANCE library_handle_type;
00447 typedef winstl::module module_wrapper_type;
00449
00452 public:
00453 static entry_point_type get_symbol(library_handle_type hLib, char const* functionName)
00454 {
00455 return ::GetProcAddress(hLib, functionName);
00456 }
00458
00461 public:
00463 struct is_not_fd
00464 {};
00465
00467 struct is_fd
00468 {};
00470
00473 public:
00475 struct library_is_handle
00476 {};
00477
00479 struct library_is_not_handle
00480 {};
00482
00483 };
00484
00485
00486
00487 template< ss_typename_param_k T
00488 >
00489 inline T const& lock_name_(T const& t, dl_call_traits::is_not_fd)
00490 {
00491 return t;
00492 }
00493
00494 template< int cc
00495 , ss_typename_param_k S
00496 >
00497 inline S const& lock_name_(function_descriptor<cc, S> const& fd, dl_call_traits::is_fd)
00498 {
00499 return fd.FunctionName;
00500 }
00501
00502 inline dl_call_traits::is_fd test_fd_(function_descriptor_base const*)
00503 {
00504 return dl_call_traits::is_fd();
00505 }
00506
00507 inline dl_call_traits::is_not_fd test_fd_(...)
00508 {
00509 return dl_call_traits::is_not_fd();
00510 }
00511
00512 #if defined(STLSOFT_COMPILER_IS_MSVC) || \
00513 defined(STLSOFT_COMPILER_IS_GCCx)
00514 inline dl_call_traits::library_is_handle test_library_(dl_call_traits::library_handle_type )
00515 {
00516 return dl_call_traits::library_is_handle();
00517 }
00518 #else
00519 inline dl_call_traits::library_is_handle test_library_(dl_call_traits::library_handle_type const&)
00520 {
00521 return dl_call_traits::library_is_handle();
00522 }
00523 #endif
00524
00525 template <ss_typename_param_k T>
00526 inline dl_call_traits::library_is_not_handle test_library_(T const&)
00527 {
00528 return dl_call_traits::library_is_not_handle();
00529 }
00530
00531
00532
00533
00534
00535 inline dl_call_traits::entry_point_type lookup_symbol_(dl_call_traits::library_handle_type hinst, char const* functionName)
00536 {
00537 dl_call_traits::entry_point_type fp = dl_call_traits::get_symbol(hinst, functionName);
00538
00539 if(NULL == fp)
00540 {
00541 STLSOFT_THROW_X(missing_entry_point_exception(functionName, ::GetLastError()));
00542 }
00543
00544 return fp;
00545 }
00546
00547 template <ss_typename_param_k C>
00548 inline calling_convention::calling_convention determine_calling_convention_(C const*& functionName)
00549 {
00550 typedef stlsoft::basic_string_view<C> string_t;
00551
00552 calling_convention::calling_convention cc = calling_convention::cdeclCallConv;
00553 string_t s0;
00554 string_t s1;
00555
00556 if(stlsoft::split(functionName, ':', s0, s1))
00557 {
00558 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00559 if( s0 == "C" ||
00560 s0 == "cdecl")
00561 {
00562 cc = calling_convention::cdeclCallConv;
00563 } else
00564 #endif
00565 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00566 if( s0 == "F" ||
00567 s0 == "fastcall")
00568 {
00569 cc = calling_convention::fastcallCallConv;
00570 } else
00571 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00572 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00573 if( s0 == "S" ||
00574 s0 == "stdcall")
00575 {
00576 cc = calling_convention::stdcallCallConv;
00577 } else
00578 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00579 {
00580 STLSOFT_THROW_X(invalid_calling_convention_exception(s0.c_str()));
00581 }
00582
00583 functionName = s1.base();
00584 }
00585
00586 return cc;
00587 }
00588
00589 template <ss_typename_param_k S>
00590 char const* detect_cc_( dl_call_traits::is_not_fd
00591 , char const* functionName
00592 , S const&
00593 , calling_convention::calling_convention& cc)
00594 {
00595 cc = determine_calling_convention_(functionName);
00596
00597 return functionName;
00598 }
00599
00600 template< int CC
00601 , ss_typename_param_k C
00602 >
00603 char const* detect_cc_( dl_call_traits::is_fd
00604 , char const* functionName
00605 , function_descriptor<CC, C> const& fd
00606 , calling_convention::calling_convention& cc)
00607 {
00608 cc = calling_convention::from_int(fd.CallingConvention);
00609
00610 return functionName;
00611 }
00612
00613
00614
00625
00626
00627
00628
00629 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00630 template< ss_typename_param_k R
00631 >
00632 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp)
00633 {
00634 R (STLSOFT_CDECL* pfn)();
00635
00636 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00637
00638 return pfn();
00639 }
00640 #endif // STLSOFT_CF_CDECL_SUPPORTED
00641
00642 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00643 template< ss_typename_param_k R
00644 >
00645 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp)
00646 {
00647 R (STLSOFT_FASTCALL* pfn)();
00648
00649 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00650
00651 return pfn();
00652 }
00653 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00654
00655 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00656 template< ss_typename_param_k R
00657 >
00658 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp)
00659 {
00660 R (STLSOFT_STDCALL* pfn)();
00661
00662 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00663
00664 return pfn();
00665 }
00666 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00667
00668
00669
00670
00671 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00672 template< ss_typename_param_k R
00673 , ss_typename_param_k A0
00674 >
00675 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0)
00676 {
00677 R (STLSOFT_CDECL* pfn)(A0 a0);
00678
00679 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00680
00681 return pfn(a0);
00682 }
00683 #endif // STLSOFT_CF_CDECL_SUPPORTED
00684
00685 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00686 template< ss_typename_param_k R
00687 , ss_typename_param_k A0
00688 >
00689 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0)
00690 {
00691 R (STLSOFT_FASTCALL* pfn)(A0 a0);
00692
00693 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00694
00695 return pfn(a0);
00696 }
00697 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00698
00699 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00700 template< ss_typename_param_k R
00701 , ss_typename_param_k A0
00702 >
00703 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0)
00704 {
00705 R (STLSOFT_STDCALL* pfn)(A0 a0);
00706
00707 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00708
00709 return pfn(a0);
00710 }
00711 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00712
00713
00714
00715
00716 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00717 template< ss_typename_param_k R
00718 , ss_typename_param_k A0, ss_typename_param_k A1
00719 >
00720 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1)
00721 {
00722 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1);
00723
00724 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00725
00726 return pfn(a0, a1);
00727 }
00728 #endif // STLSOFT_CF_CDECL_SUPPORTED
00729
00730 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00731 template< ss_typename_param_k R
00732 , ss_typename_param_k A0, ss_typename_param_k A1
00733 >
00734 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1)
00735 {
00736 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1);
00737
00738 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00739
00740 return pfn(a0, a1);
00741 }
00742 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00743
00744 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00745 template< ss_typename_param_k R
00746 , ss_typename_param_k A0, ss_typename_param_k A1
00747 >
00748 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1)
00749 {
00750 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1);
00751
00752 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00753
00754 return pfn(a0, a1);
00755 }
00756 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00757
00758
00759
00760
00761 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00762 template< ss_typename_param_k R
00763 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
00764 >
00765 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2)
00766 {
00767 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2);
00768
00769 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00770
00771 return pfn(a0, a1, a2);
00772 }
00773 #endif // STLSOFT_CF_CDECL_SUPPORTED
00774
00775 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00776 template< ss_typename_param_k R
00777 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
00778 >
00779 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2)
00780 {
00781 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2);
00782
00783 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00784
00785 return pfn(a0, a1, a2);
00786 }
00787 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00788
00789 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00790 template< ss_typename_param_k R
00791 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
00792 >
00793 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2)
00794 {
00795 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2);
00796
00797 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00798
00799 return pfn(a0, a1, a2);
00800 }
00801 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00802
00803
00804
00805
00806 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00807 template< ss_typename_param_k R
00808 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
00809 >
00810 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3)
00811 {
00812 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3);
00813
00814 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00815
00816 return pfn(a0, a1, a2, a3);
00817 }
00818 #endif // STLSOFT_CF_CDECL_SUPPORTED
00819
00820 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00821 template< ss_typename_param_k R
00822 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
00823 >
00824 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3)
00825 {
00826 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3);
00827
00828 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00829
00830 return pfn(a0, a1, a2, a3);
00831 }
00832 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00833
00834 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00835 template< ss_typename_param_k R
00836 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
00837 >
00838 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3)
00839 {
00840 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3);
00841
00842 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00843
00844 return pfn(a0, a1, a2, a3);
00845 }
00846 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00847
00848
00849
00850
00851 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00852 template< ss_typename_param_k R
00853 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
00854 >
00855 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
00856 {
00857 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4);
00858
00859 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00860
00861 return pfn(a0, a1, a2, a3, a4);
00862 }
00863 #endif // STLSOFT_CF_CDECL_SUPPORTED
00864
00865 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00866 template< ss_typename_param_k R
00867 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
00868 >
00869 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
00870 {
00871 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4);
00872
00873 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00874
00875 return pfn(a0, a1, a2, a3, a4);
00876 }
00877 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00878
00879 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00880 template< ss_typename_param_k R
00881 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
00882 >
00883 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
00884 {
00885 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4);
00886
00887 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00888
00889 return pfn(a0, a1, a2, a3, a4);
00890 }
00891 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00892
00893
00894
00895
00896 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00897 template< ss_typename_param_k R
00898 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
00899 >
00900 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
00901 {
00902 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5);
00903
00904 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00905
00906 return pfn(a0, a1, a2, a3, a4, a5);
00907 }
00908 #endif // STLSOFT_CF_CDECL_SUPPORTED
00909
00910 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00911 template< ss_typename_param_k R
00912 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
00913 >
00914 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
00915 {
00916 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5);
00917
00918 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00919
00920 return pfn(a0, a1, a2, a3, a4, a5);
00921 }
00922 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00923
00924 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00925 template< ss_typename_param_k R
00926 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
00927 >
00928 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
00929 {
00930 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5);
00931
00932 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00933
00934 return pfn(a0, a1, a2, a3, a4, a5);
00935 }
00936 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00937
00938
00939
00940
00941 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00942 template< ss_typename_param_k R
00943 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
00944 >
00945 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
00946 {
00947 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6);
00948
00949 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00950
00951 return pfn(a0, a1, a2, a3, a4, a5, a6);
00952 }
00953 #endif // STLSOFT_CF_CDECL_SUPPORTED
00954
00955 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
00956 template< ss_typename_param_k R
00957 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
00958 >
00959 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
00960 {
00961 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6);
00962
00963 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00964
00965 return pfn(a0, a1, a2, a3, a4, a5, a6);
00966 }
00967 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
00968
00969 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
00970 template< ss_typename_param_k R
00971 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
00972 >
00973 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
00974 {
00975 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6);
00976
00977 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00978
00979 return pfn(a0, a1, a2, a3, a4, a5, a6);
00980 }
00981 #endif // STLSOFT_CF_STDCALL_SUPPORTED
00982
00983
00984
00985
00986 #ifdef STLSOFT_CF_CDECL_SUPPORTED
00987 template< ss_typename_param_k R
00988 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
00989 >
00990 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
00991 {
00992 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7);
00993
00994 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
00995
00996 return pfn(a0, a1, a2, a3, a4, a5, a6, a7);
00997 }
00998 #endif // STLSOFT_CF_CDECL_SUPPORTED
00999
01000 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01001 template< ss_typename_param_k R
01002 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
01003 >
01004 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
01005 {
01006 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7);
01007
01008 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01009
01010 return pfn(a0, a1, a2, a3, a4, a5, a6, a7);
01011 }
01012 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01013
01014 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01015 template< ss_typename_param_k R
01016 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
01017 >
01018 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
01019 {
01020 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7);
01021
01022 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01023
01024 return pfn(a0, a1, a2, a3, a4, a5, a6, a7);
01025 }
01026 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01027
01028
01029
01030
01031 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01032 template< ss_typename_param_k R
01033 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
01034 >
01035 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
01036 {
01037 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8);
01038
01039 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01040
01041 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8);
01042 }
01043 #endif // STLSOFT_CF_CDECL_SUPPORTED
01044
01045 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01046 template< ss_typename_param_k R
01047 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
01048 >
01049 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
01050 {
01051 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8);
01052
01053 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01054
01055 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8);
01056 }
01057 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01058
01059 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01060 template< ss_typename_param_k R
01061 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
01062 >
01063 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
01064 {
01065 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8);
01066
01067 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01068
01069 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8);
01070 }
01071 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01072
01073
01074
01075
01076 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01077 template< ss_typename_param_k R
01078 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
01079 >
01080 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
01081 {
01082 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9);
01083
01084 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01085
01086 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
01087 }
01088 #endif // STLSOFT_CF_CDECL_SUPPORTED
01089
01090 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01091 template< ss_typename_param_k R
01092 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
01093 >
01094 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
01095 {
01096 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9);
01097
01098 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01099
01100 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
01101 }
01102 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01103
01104 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01105 template< ss_typename_param_k R
01106 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
01107 >
01108 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
01109 {
01110 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9);
01111
01112 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01113
01114 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
01115 }
01116 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01117
01118
01119
01120
01121 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01122 template< ss_typename_param_k R
01123 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
01124 >
01125 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
01126 {
01127 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10);
01128
01129 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01130
01131 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
01132 }
01133 #endif // STLSOFT_CF_CDECL_SUPPORTED
01134
01135 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01136 template< ss_typename_param_k R
01137 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
01138 >
01139 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
01140 {
01141 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10);
01142
01143 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01144
01145 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
01146 }
01147 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01148
01149 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01150 template< ss_typename_param_k R
01151 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
01152 >
01153 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
01154 {
01155 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10);
01156
01157 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01158
01159 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
01160 }
01161 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01162
01163
01164
01165
01166 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01167 template< ss_typename_param_k R
01168 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
01169 >
01170 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
01171 {
01172 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11);
01173
01174 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01175
01176 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
01177 }
01178 #endif // STLSOFT_CF_CDECL_SUPPORTED
01179
01180 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01181 template< ss_typename_param_k R
01182 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
01183 >
01184 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
01185 {
01186 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11);
01187
01188 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01189
01190 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
01191 }
01192 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01193
01194 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01195 template< ss_typename_param_k R
01196 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
01197 >
01198 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
01199 {
01200 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11);
01201
01202 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01203
01204 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
01205 }
01206 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01207
01208
01209
01210
01211 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01212 template< ss_typename_param_k R
01213 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
01214 >
01215 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
01216 {
01217 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12);
01218
01219 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01220
01221 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
01222 }
01223 #endif // STLSOFT_CF_CDECL_SUPPORTED
01224
01225 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01226 template< ss_typename_param_k R
01227 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
01228 >
01229 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
01230 {
01231 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12);
01232
01233 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01234
01235 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
01236 }
01237 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01238
01239 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01240 template< ss_typename_param_k R
01241 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
01242 >
01243 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
01244 {
01245 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12);
01246
01247 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01248
01249 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
01250 }
01251 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01252
01253
01254
01255
01256 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01257 template< ss_typename_param_k R
01258 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
01259 >
01260 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
01261 {
01262 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13);
01263
01264 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01265
01266 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
01267 }
01268 #endif // STLSOFT_CF_CDECL_SUPPORTED
01269
01270 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01271 template< ss_typename_param_k R
01272 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
01273 >
01274 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
01275 {
01276 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13);
01277
01278 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01279
01280 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
01281 }
01282 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01283
01284 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01285 template< ss_typename_param_k R
01286 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
01287 >
01288 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
01289 {
01290 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13);
01291
01292 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01293
01294 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
01295 }
01296 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01297
01298
01299
01300
01301 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01302 template< ss_typename_param_k R
01303 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
01304 >
01305 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
01306 {
01307 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14);
01308
01309 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01310
01311 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
01312 }
01313 #endif // STLSOFT_CF_CDECL_SUPPORTED
01314
01315 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01316 template< ss_typename_param_k R
01317 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
01318 >
01319 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
01320 {
01321 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14);
01322
01323 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01324
01325 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
01326 }
01327 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01328
01329 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01330 template< ss_typename_param_k R
01331 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
01332 >
01333 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
01334 {
01335 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14);
01336
01337 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01338
01339 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
01340 }
01341 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01342
01343
01344
01345
01346 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01347 template< ss_typename_param_k R
01348 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
01349 >
01350 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
01351 {
01352 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15);
01353
01354 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01355
01356 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
01357 }
01358 #endif // STLSOFT_CF_CDECL_SUPPORTED
01359
01360 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01361 template< ss_typename_param_k R
01362 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
01363 >
01364 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
01365 {
01366 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15);
01367
01368 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01369
01370 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
01371 }
01372 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01373
01374 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01375 template< ss_typename_param_k R
01376 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
01377 >
01378 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
01379 {
01380 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15);
01381
01382 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01383
01384 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
01385 }
01386 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01387
01388
01389
01390
01391 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01392 template< ss_typename_param_k R
01393 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
01394 >
01395 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
01396 {
01397 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16);
01398
01399 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01400
01401 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
01402 }
01403 #endif // STLSOFT_CF_CDECL_SUPPORTED
01404
01405 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01406 template< ss_typename_param_k R
01407 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
01408 >
01409 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
01410 {
01411 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16);
01412
01413 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01414
01415 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
01416 }
01417 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01418
01419 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01420 template< ss_typename_param_k R
01421 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
01422 >
01423 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
01424 {
01425 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16);
01426
01427 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01428
01429 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
01430 }
01431 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01432
01433
01434
01435
01436 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01437 template< ss_typename_param_k R
01438 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
01439 >
01440 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
01441 {
01442 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17);
01443
01444 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01445
01446 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
01447 }
01448 #endif // STLSOFT_CF_CDECL_SUPPORTED
01449
01450 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01451 template< ss_typename_param_k R
01452 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
01453 >
01454 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
01455 {
01456 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17);
01457
01458 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01459
01460 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
01461 }
01462 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01463
01464 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01465 template< ss_typename_param_k R
01466 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
01467 >
01468 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
01469 {
01470 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17);
01471
01472 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01473
01474 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
01475 }
01476 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01477
01478
01479
01480
01481 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01482 template< ss_typename_param_k R
01483 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
01484 >
01485 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
01486 {
01487 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18);
01488
01489 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01490
01491 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
01492 }
01493 #endif // STLSOFT_CF_CDECL_SUPPORTED
01494
01495 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01496 template< ss_typename_param_k R
01497 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
01498 >
01499 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
01500 {
01501 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18);
01502
01503 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01504
01505 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
01506 }
01507 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01508
01509 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01510 template< ss_typename_param_k R
01511 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
01512 >
01513 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
01514 {
01515 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18);
01516
01517 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01518
01519 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
01520 }
01521 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01522
01523
01524
01525
01526 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01527 template< ss_typename_param_k R
01528 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
01529 >
01530 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
01531 {
01532 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19);
01533
01534 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01535
01536 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
01537 }
01538 #endif // STLSOFT_CF_CDECL_SUPPORTED
01539
01540 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01541 template< ss_typename_param_k R
01542 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
01543 >
01544 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
01545 {
01546 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19);
01547
01548 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01549
01550 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
01551 }
01552 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01553
01554 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01555 template< ss_typename_param_k R
01556 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
01557 >
01558 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
01559 {
01560 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19);
01561
01562 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01563
01564 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
01565 }
01566 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01567
01568
01569
01570
01571 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01572 template< ss_typename_param_k R
01573 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
01574 >
01575 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
01576 {
01577 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20);
01578
01579 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01580
01581 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
01582 }
01583 #endif // STLSOFT_CF_CDECL_SUPPORTED
01584
01585 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01586 template< ss_typename_param_k R
01587 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
01588 >
01589 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
01590 {
01591 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20);
01592
01593 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01594
01595 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
01596 }
01597 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01598
01599 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01600 template< ss_typename_param_k R
01601 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
01602 >
01603 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
01604 {
01605 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20);
01606
01607 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01608
01609 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
01610 }
01611 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01612
01613
01614
01615
01616 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01617 template< ss_typename_param_k R
01618 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
01619 >
01620 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
01621 {
01622 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21);
01623
01624 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01625
01626 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
01627 }
01628 #endif // STLSOFT_CF_CDECL_SUPPORTED
01629
01630 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01631 template< ss_typename_param_k R
01632 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
01633 >
01634 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
01635 {
01636 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21);
01637
01638 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01639
01640 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
01641 }
01642 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01643
01644 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01645 template< ss_typename_param_k R
01646 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
01647 >
01648 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
01649 {
01650 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21);
01651
01652 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01653
01654 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
01655 }
01656 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01657
01658
01659
01660
01661 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01662 template< ss_typename_param_k R
01663 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
01664 >
01665 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
01666 {
01667 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22);
01668
01669 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01670
01671 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
01672 }
01673 #endif // STLSOFT_CF_CDECL_SUPPORTED
01674
01675 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01676 template< ss_typename_param_k R
01677 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
01678 >
01679 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
01680 {
01681 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22);
01682
01683 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01684
01685 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
01686 }
01687 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01688
01689 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01690 template< ss_typename_param_k R
01691 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
01692 >
01693 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
01694 {
01695 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22);
01696
01697 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01698
01699 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
01700 }
01701 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01702
01703
01704
01705
01706 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01707 template< ss_typename_param_k R
01708 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
01709 >
01710 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
01711 {
01712 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23);
01713
01714 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01715
01716 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
01717 }
01718 #endif // STLSOFT_CF_CDECL_SUPPORTED
01719
01720 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01721 template< ss_typename_param_k R
01722 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
01723 >
01724 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
01725 {
01726 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23);
01727
01728 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01729
01730 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
01731 }
01732 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01733
01734 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01735 template< ss_typename_param_k R
01736 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
01737 >
01738 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
01739 {
01740 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23);
01741
01742 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01743
01744 return pfn(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
01745 }
01746 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01747
01748
01749
01750
01751 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01752 template< ss_typename_param_k R
01753 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
01754 >
01755 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
01756 {
01757 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24);
01758
01759 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01760
01761 return pfn(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);
01762 }
01763 #endif // STLSOFT_CF_CDECL_SUPPORTED
01764
01765 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01766 template< ss_typename_param_k R
01767 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
01768 >
01769 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
01770 {
01771 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24);
01772
01773 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01774
01775 return pfn(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);
01776 }
01777 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01778
01779 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01780 template< ss_typename_param_k R
01781 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
01782 >
01783 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
01784 {
01785 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24);
01786
01787 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01788
01789 return pfn(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);
01790 }
01791 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01792
01793
01794
01795
01796 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01797 template< ss_typename_param_k R
01798 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
01799 >
01800 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
01801 {
01802 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25);
01803
01804 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01805
01806 return pfn(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);
01807 }
01808 #endif // STLSOFT_CF_CDECL_SUPPORTED
01809
01810 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01811 template< ss_typename_param_k R
01812 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
01813 >
01814 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
01815 {
01816 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25);
01817
01818 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01819
01820 return pfn(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);
01821 }
01822 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01823
01824 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01825 template< ss_typename_param_k R
01826 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
01827 >
01828 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
01829 {
01830 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25);
01831
01832 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01833
01834 return pfn(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);
01835 }
01836 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01837
01838
01839
01840
01841 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01842 template< ss_typename_param_k R
01843 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
01844 >
01845 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
01846 {
01847 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26);
01848
01849 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01850
01851 return pfn(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);
01852 }
01853 #endif // STLSOFT_CF_CDECL_SUPPORTED
01854
01855 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01856 template< ss_typename_param_k R
01857 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
01858 >
01859 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
01860 {
01861 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26);
01862
01863 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01864
01865 return pfn(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);
01866 }
01867 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01868
01869 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01870 template< ss_typename_param_k R
01871 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
01872 >
01873 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
01874 {
01875 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26);
01876
01877 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01878
01879 return pfn(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);
01880 }
01881 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01882
01883
01884
01885
01886 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01887 template< ss_typename_param_k R
01888 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
01889 >
01890 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
01891 {
01892 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27);
01893
01894 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01895
01896 return pfn(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);
01897 }
01898 #endif // STLSOFT_CF_CDECL_SUPPORTED
01899
01900 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01901 template< ss_typename_param_k R
01902 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
01903 >
01904 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
01905 {
01906 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27);
01907
01908 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01909
01910 return pfn(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);
01911 }
01912 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01913
01914 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01915 template< ss_typename_param_k R
01916 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
01917 >
01918 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
01919 {
01920 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27);
01921
01922 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01923
01924 return pfn(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);
01925 }
01926 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01927
01928
01929
01930
01931 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01932 template< ss_typename_param_k R
01933 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
01934 >
01935 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
01936 {
01937 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28);
01938
01939 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01940
01941 return pfn(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);
01942 }
01943 #endif // STLSOFT_CF_CDECL_SUPPORTED
01944
01945 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01946 template< ss_typename_param_k R
01947 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
01948 >
01949 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
01950 {
01951 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28);
01952
01953 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01954
01955 return pfn(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);
01956 }
01957 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
01958
01959 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
01960 template< ss_typename_param_k R
01961 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
01962 >
01963 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
01964 {
01965 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28);
01966
01967 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01968
01969 return pfn(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);
01970 }
01971 #endif // STLSOFT_CF_STDCALL_SUPPORTED
01972
01973
01974
01975
01976 #ifdef STLSOFT_CF_CDECL_SUPPORTED
01977 template< ss_typename_param_k R
01978 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
01979 >
01980 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
01981 {
01982 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29);
01983
01984 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01985
01986 return pfn(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);
01987 }
01988 #endif // STLSOFT_CF_CDECL_SUPPORTED
01989
01990 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
01991 template< ss_typename_param_k R
01992 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
01993 >
01994 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
01995 {
01996 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29);
01997
01998 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
01999
02000 return pfn(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);
02001 }
02002 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02003
02004 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02005 template< ss_typename_param_k R
02006 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
02007 >
02008 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
02009 {
02010 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29);
02011
02012 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02013
02014 return pfn(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);
02015 }
02016 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02017
02018
02019
02020
02021 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02022 template< ss_typename_param_k R
02023 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
02024 >
02025 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
02026 {
02027 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30);
02028
02029 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02030
02031 return pfn(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);
02032 }
02033 #endif // STLSOFT_CF_CDECL_SUPPORTED
02034
02035 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02036 template< ss_typename_param_k R
02037 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
02038 >
02039 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
02040 {
02041 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30);
02042
02043 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02044
02045 return pfn(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);
02046 }
02047 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02048
02049 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02050 template< ss_typename_param_k R
02051 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
02052 >
02053 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
02054 {
02055 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30);
02056
02057 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02058
02059 return pfn(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);
02060 }
02061 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02062
02063
02064
02065
02066 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02067 template< ss_typename_param_k R
02068 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
02069 >
02070 inline R dl_call_invoke_cdecl(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
02071 {
02072 R (STLSOFT_CDECL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31);
02073
02074 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02075
02076 return pfn(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);
02077 }
02078 #endif // STLSOFT_CF_CDECL_SUPPORTED
02079
02080 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02081 template< ss_typename_param_k R
02082 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
02083 >
02084 inline R dl_call_invoke_fastcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
02085 {
02086 R (STLSOFT_FASTCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31);
02087
02088 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02089
02090 return pfn(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);
02091 }
02092 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02093
02094 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02095 template< ss_typename_param_k R
02096 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
02097 >
02098 inline R dl_call_invoke_stdcall(dl_call_traits::entry_point_type fp, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
02099 {
02100 R (STLSOFT_STDCALL* pfn)(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31);
02101
02102 reinterpret_cast<dl_call_traits::entry_point_type&>(pfn) = fp;
02103
02104 return pfn(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);
02105 }
02106 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02107
02108
02109
02110
02112
02113
02114
02125
02126
02127
02128
02129 template< ss_typename_param_k R
02130 >
02131 inline R dl_call_dispatch_0(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc)
02132 {
02133 WINSTL_ASSERT(NULL != fp);
02134
02135 switch(cc)
02136 {
02137 default:
02138 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02139 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02140 case calling_convention::cdeclCallConv:
02141 return dl_call_invoke_cdecl<R>(fp);
02142 #endif // STLSOFT_CF_CDECL_SUPPORTED
02143 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02144 case calling_convention::fastcallCallConv:
02145 return dl_call_invoke_fastcall<R>(fp);
02146 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02147 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02148 case calling_convention::stdcallCallConv:
02149 return dl_call_invoke_stdcall<R>(fp);
02150 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02151 }
02152 }
02153
02154
02155
02156 template< ss_typename_param_k R
02157 , ss_typename_param_k A0
02158 >
02159 inline R dl_call_dispatch_1(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0)
02160 {
02161 WINSTL_ASSERT(NULL != fp);
02162
02163 switch(cc)
02164 {
02165 default:
02166 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02167 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02168 case calling_convention::cdeclCallConv:
02169 return dl_call_invoke_cdecl<R>(fp, a0);
02170 #endif // STLSOFT_CF_CDECL_SUPPORTED
02171 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02172 case calling_convention::fastcallCallConv:
02173 return dl_call_invoke_fastcall<R>(fp, a0);
02174 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02175 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02176 case calling_convention::stdcallCallConv:
02177 return dl_call_invoke_stdcall<R>(fp, a0);
02178 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02179 }
02180 }
02181
02182
02183
02184 template< ss_typename_param_k R
02185 , ss_typename_param_k A0, ss_typename_param_k A1
02186 >
02187 inline R dl_call_dispatch_2(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1)
02188 {
02189 WINSTL_ASSERT(NULL != fp);
02190
02191 switch(cc)
02192 {
02193 default:
02194 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02195 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02196 case calling_convention::cdeclCallConv:
02197 return dl_call_invoke_cdecl<R>(fp, a0, a1);
02198 #endif // STLSOFT_CF_CDECL_SUPPORTED
02199 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02200 case calling_convention::fastcallCallConv:
02201 return dl_call_invoke_fastcall<R>(fp, a0, a1);
02202 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02203 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02204 case calling_convention::stdcallCallConv:
02205 return dl_call_invoke_stdcall<R>(fp, a0, a1);
02206 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02207 }
02208 }
02209
02210
02211
02212 template< ss_typename_param_k R
02213 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
02214 >
02215 inline R dl_call_dispatch_3(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2)
02216 {
02217 WINSTL_ASSERT(NULL != fp);
02218
02219 switch(cc)
02220 {
02221 default:
02222 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02223 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02224 case calling_convention::cdeclCallConv:
02225 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2);
02226 #endif // STLSOFT_CF_CDECL_SUPPORTED
02227 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02228 case calling_convention::fastcallCallConv:
02229 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2);
02230 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02231 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02232 case calling_convention::stdcallCallConv:
02233 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2);
02234 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02235 }
02236 }
02237
02238
02239
02240 template< ss_typename_param_k R
02241 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
02242 >
02243 inline R dl_call_dispatch_4(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3)
02244 {
02245 WINSTL_ASSERT(NULL != fp);
02246
02247 switch(cc)
02248 {
02249 default:
02250 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02251 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02252 case calling_convention::cdeclCallConv:
02253 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3);
02254 #endif // STLSOFT_CF_CDECL_SUPPORTED
02255 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02256 case calling_convention::fastcallCallConv:
02257 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3);
02258 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02259 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02260 case calling_convention::stdcallCallConv:
02261 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3);
02262 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02263 }
02264 }
02265
02266
02267
02268 template< ss_typename_param_k R
02269 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
02270 >
02271 inline R dl_call_dispatch_5(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
02272 {
02273 WINSTL_ASSERT(NULL != fp);
02274
02275 switch(cc)
02276 {
02277 default:
02278 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02279 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02280 case calling_convention::cdeclCallConv:
02281 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4);
02282 #endif // STLSOFT_CF_CDECL_SUPPORTED
02283 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02284 case calling_convention::fastcallCallConv:
02285 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4);
02286 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02287 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02288 case calling_convention::stdcallCallConv:
02289 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4);
02290 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02291 }
02292 }
02293
02294
02295
02296 template< ss_typename_param_k R
02297 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
02298 >
02299 inline R dl_call_dispatch_6(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
02300 {
02301 WINSTL_ASSERT(NULL != fp);
02302
02303 switch(cc)
02304 {
02305 default:
02306 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02307 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02308 case calling_convention::cdeclCallConv:
02309 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5);
02310 #endif // STLSOFT_CF_CDECL_SUPPORTED
02311 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02312 case calling_convention::fastcallCallConv:
02313 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5);
02314 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02315 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02316 case calling_convention::stdcallCallConv:
02317 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5);
02318 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02319 }
02320 }
02321
02322
02323
02324 template< ss_typename_param_k R
02325 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
02326 >
02327 inline R dl_call_dispatch_7(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
02328 {
02329 WINSTL_ASSERT(NULL != fp);
02330
02331 switch(cc)
02332 {
02333 default:
02334 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02335 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02336 case calling_convention::cdeclCallConv:
02337 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6);
02338 #endif // STLSOFT_CF_CDECL_SUPPORTED
02339 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02340 case calling_convention::fastcallCallConv:
02341 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6);
02342 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02343 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02344 case calling_convention::stdcallCallConv:
02345 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6);
02346 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02347 }
02348 }
02349
02350
02351
02352 template< ss_typename_param_k R
02353 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
02354 >
02355 inline R dl_call_dispatch_8(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
02356 {
02357 WINSTL_ASSERT(NULL != fp);
02358
02359 switch(cc)
02360 {
02361 default:
02362 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02363 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02364 case calling_convention::cdeclCallConv:
02365 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7);
02366 #endif // STLSOFT_CF_CDECL_SUPPORTED
02367 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02368 case calling_convention::fastcallCallConv:
02369 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7);
02370 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02371 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02372 case calling_convention::stdcallCallConv:
02373 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7);
02374 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02375 }
02376 }
02377
02378
02379
02380 template< ss_typename_param_k R
02381 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
02382 >
02383 inline R dl_call_dispatch_9(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
02384 {
02385 WINSTL_ASSERT(NULL != fp);
02386
02387 switch(cc)
02388 {
02389 default:
02390 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02391 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02392 case calling_convention::cdeclCallConv:
02393 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8);
02394 #endif // STLSOFT_CF_CDECL_SUPPORTED
02395 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02396 case calling_convention::fastcallCallConv:
02397 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8);
02398 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02399 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02400 case calling_convention::stdcallCallConv:
02401 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8);
02402 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02403 }
02404 }
02405
02406
02407
02408 template< ss_typename_param_k R
02409 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
02410 >
02411 inline R dl_call_dispatch_10(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
02412 {
02413 WINSTL_ASSERT(NULL != fp);
02414
02415 switch(cc)
02416 {
02417 default:
02418 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02419 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02420 case calling_convention::cdeclCallConv:
02421 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
02422 #endif // STLSOFT_CF_CDECL_SUPPORTED
02423 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02424 case calling_convention::fastcallCallConv:
02425 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
02426 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02427 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02428 case calling_convention::stdcallCallConv:
02429 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
02430 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02431 }
02432 }
02433
02434
02435
02436 template< ss_typename_param_k R
02437 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
02438 >
02439 inline R dl_call_dispatch_11(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
02440 {
02441 WINSTL_ASSERT(NULL != fp);
02442
02443 switch(cc)
02444 {
02445 default:
02446 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02447 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02448 case calling_convention::cdeclCallConv:
02449 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
02450 #endif // STLSOFT_CF_CDECL_SUPPORTED
02451 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02452 case calling_convention::fastcallCallConv:
02453 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
02454 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02455 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02456 case calling_convention::stdcallCallConv:
02457 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
02458 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02459 }
02460 }
02461
02462
02463
02464 template< ss_typename_param_k R
02465 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
02466 >
02467 inline R dl_call_dispatch_12(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
02468 {
02469 WINSTL_ASSERT(NULL != fp);
02470
02471 switch(cc)
02472 {
02473 default:
02474 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02475 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02476 case calling_convention::cdeclCallConv:
02477 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
02478 #endif // STLSOFT_CF_CDECL_SUPPORTED
02479 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02480 case calling_convention::fastcallCallConv:
02481 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
02482 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02483 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02484 case calling_convention::stdcallCallConv:
02485 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
02486 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02487 }
02488 }
02489
02490
02491
02492 template< ss_typename_param_k R
02493 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
02494 >
02495 inline R dl_call_dispatch_13(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
02496 {
02497 WINSTL_ASSERT(NULL != fp);
02498
02499 switch(cc)
02500 {
02501 default:
02502 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02503 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02504 case calling_convention::cdeclCallConv:
02505 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
02506 #endif // STLSOFT_CF_CDECL_SUPPORTED
02507 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02508 case calling_convention::fastcallCallConv:
02509 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
02510 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02511 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02512 case calling_convention::stdcallCallConv:
02513 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
02514 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02515 }
02516 }
02517
02518
02519
02520 template< ss_typename_param_k R
02521 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
02522 >
02523 inline R dl_call_dispatch_14(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
02524 {
02525 WINSTL_ASSERT(NULL != fp);
02526
02527 switch(cc)
02528 {
02529 default:
02530 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02531 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02532 case calling_convention::cdeclCallConv:
02533 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
02534 #endif // STLSOFT_CF_CDECL_SUPPORTED
02535 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02536 case calling_convention::fastcallCallConv:
02537 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
02538 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02539 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02540 case calling_convention::stdcallCallConv:
02541 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
02542 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02543 }
02544 }
02545
02546
02547
02548 template< ss_typename_param_k R
02549 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
02550 >
02551 inline R dl_call_dispatch_15(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
02552 {
02553 WINSTL_ASSERT(NULL != fp);
02554
02555 switch(cc)
02556 {
02557 default:
02558 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02559 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02560 case calling_convention::cdeclCallConv:
02561 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
02562 #endif // STLSOFT_CF_CDECL_SUPPORTED
02563 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02564 case calling_convention::fastcallCallConv:
02565 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
02566 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02567 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02568 case calling_convention::stdcallCallConv:
02569 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
02570 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02571 }
02572 }
02573
02574
02575
02576 template< ss_typename_param_k R
02577 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
02578 >
02579 inline R dl_call_dispatch_16(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
02580 {
02581 WINSTL_ASSERT(NULL != fp);
02582
02583 switch(cc)
02584 {
02585 default:
02586 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02587 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02588 case calling_convention::cdeclCallConv:
02589 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
02590 #endif // STLSOFT_CF_CDECL_SUPPORTED
02591 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02592 case calling_convention::fastcallCallConv:
02593 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
02594 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02595 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02596 case calling_convention::stdcallCallConv:
02597 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
02598 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02599 }
02600 }
02601
02602
02603
02604 template< ss_typename_param_k R
02605 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
02606 >
02607 inline R dl_call_dispatch_17(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
02608 {
02609 WINSTL_ASSERT(NULL != fp);
02610
02611 switch(cc)
02612 {
02613 default:
02614 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02615 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02616 case calling_convention::cdeclCallConv:
02617 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
02618 #endif // STLSOFT_CF_CDECL_SUPPORTED
02619 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02620 case calling_convention::fastcallCallConv:
02621 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
02622 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02623 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02624 case calling_convention::stdcallCallConv:
02625 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
02626 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02627 }
02628 }
02629
02630
02631
02632 template< ss_typename_param_k R
02633 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
02634 >
02635 inline R dl_call_dispatch_18(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
02636 {
02637 WINSTL_ASSERT(NULL != fp);
02638
02639 switch(cc)
02640 {
02641 default:
02642 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02643 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02644 case calling_convention::cdeclCallConv:
02645 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
02646 #endif // STLSOFT_CF_CDECL_SUPPORTED
02647 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02648 case calling_convention::fastcallCallConv:
02649 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
02650 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02651 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02652 case calling_convention::stdcallCallConv:
02653 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
02654 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02655 }
02656 }
02657
02658
02659
02660 template< ss_typename_param_k R
02661 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
02662 >
02663 inline R dl_call_dispatch_19(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
02664 {
02665 WINSTL_ASSERT(NULL != fp);
02666
02667 switch(cc)
02668 {
02669 default:
02670 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02671 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02672 case calling_convention::cdeclCallConv:
02673 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
02674 #endif // STLSOFT_CF_CDECL_SUPPORTED
02675 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02676 case calling_convention::fastcallCallConv:
02677 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
02678 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02679 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02680 case calling_convention::stdcallCallConv:
02681 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
02682 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02683 }
02684 }
02685
02686
02687
02688 template< ss_typename_param_k R
02689 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
02690 >
02691 inline R dl_call_dispatch_20(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
02692 {
02693 WINSTL_ASSERT(NULL != fp);
02694
02695 switch(cc)
02696 {
02697 default:
02698 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02699 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02700 case calling_convention::cdeclCallConv:
02701 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
02702 #endif // STLSOFT_CF_CDECL_SUPPORTED
02703 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02704 case calling_convention::fastcallCallConv:
02705 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
02706 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02707 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02708 case calling_convention::stdcallCallConv:
02709 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
02710 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02711 }
02712 }
02713
02714
02715
02716 template< ss_typename_param_k R
02717 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
02718 >
02719 inline R dl_call_dispatch_21(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
02720 {
02721 WINSTL_ASSERT(NULL != fp);
02722
02723 switch(cc)
02724 {
02725 default:
02726 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02727 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02728 case calling_convention::cdeclCallConv:
02729 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
02730 #endif // STLSOFT_CF_CDECL_SUPPORTED
02731 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02732 case calling_convention::fastcallCallConv:
02733 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
02734 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02735 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02736 case calling_convention::stdcallCallConv:
02737 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
02738 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02739 }
02740 }
02741
02742
02743
02744 template< ss_typename_param_k R
02745 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
02746 >
02747 inline R dl_call_dispatch_22(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
02748 {
02749 WINSTL_ASSERT(NULL != fp);
02750
02751 switch(cc)
02752 {
02753 default:
02754 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02755 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02756 case calling_convention::cdeclCallConv:
02757 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
02758 #endif // STLSOFT_CF_CDECL_SUPPORTED
02759 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02760 case calling_convention::fastcallCallConv:
02761 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
02762 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02763 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02764 case calling_convention::stdcallCallConv:
02765 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
02766 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02767 }
02768 }
02769
02770
02771
02772 template< ss_typename_param_k R
02773 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
02774 >
02775 inline R dl_call_dispatch_23(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
02776 {
02777 WINSTL_ASSERT(NULL != fp);
02778
02779 switch(cc)
02780 {
02781 default:
02782 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02783 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02784 case calling_convention::cdeclCallConv:
02785 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
02786 #endif // STLSOFT_CF_CDECL_SUPPORTED
02787 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02788 case calling_convention::fastcallCallConv:
02789 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
02790 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02791 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02792 case calling_convention::stdcallCallConv:
02793 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
02794 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02795 }
02796 }
02797
02798
02799
02800 template< ss_typename_param_k R
02801 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
02802 >
02803 inline R dl_call_dispatch_24(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
02804 {
02805 WINSTL_ASSERT(NULL != fp);
02806
02807 switch(cc)
02808 {
02809 default:
02810 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02811 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02812 case calling_convention::cdeclCallConv:
02813 return dl_call_invoke_cdecl<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
02814 #endif // STLSOFT_CF_CDECL_SUPPORTED
02815 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02816 case calling_convention::fastcallCallConv:
02817 return dl_call_invoke_fastcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
02818 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02819 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02820 case calling_convention::stdcallCallConv:
02821 return dl_call_invoke_stdcall<R>(fp, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
02822 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02823 }
02824 }
02825
02826
02827
02828 template< ss_typename_param_k R
02829 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
02830 >
02831 inline R dl_call_dispatch_25(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
02832 {
02833 WINSTL_ASSERT(NULL != fp);
02834
02835 switch(cc)
02836 {
02837 default:
02838 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02839 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02840 case calling_convention::cdeclCallConv:
02841 return dl_call_invoke_cdecl<R>(fp, 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);
02842 #endif // STLSOFT_CF_CDECL_SUPPORTED
02843 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02844 case calling_convention::fastcallCallConv:
02845 return dl_call_invoke_fastcall<R>(fp, 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);
02846 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02847 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02848 case calling_convention::stdcallCallConv:
02849 return dl_call_invoke_stdcall<R>(fp, 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);
02850 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02851 }
02852 }
02853
02854
02855
02856 template< ss_typename_param_k R
02857 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
02858 >
02859 inline R dl_call_dispatch_26(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
02860 {
02861 WINSTL_ASSERT(NULL != fp);
02862
02863 switch(cc)
02864 {
02865 default:
02866 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02867 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02868 case calling_convention::cdeclCallConv:
02869 return dl_call_invoke_cdecl<R>(fp, 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);
02870 #endif // STLSOFT_CF_CDECL_SUPPORTED
02871 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02872 case calling_convention::fastcallCallConv:
02873 return dl_call_invoke_fastcall<R>(fp, 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);
02874 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02875 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02876 case calling_convention::stdcallCallConv:
02877 return dl_call_invoke_stdcall<R>(fp, 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);
02878 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02879 }
02880 }
02881
02882
02883
02884 template< ss_typename_param_k R
02885 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
02886 >
02887 inline R dl_call_dispatch_27(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
02888 {
02889 WINSTL_ASSERT(NULL != fp);
02890
02891 switch(cc)
02892 {
02893 default:
02894 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02895 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02896 case calling_convention::cdeclCallConv:
02897 return dl_call_invoke_cdecl<R>(fp, 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);
02898 #endif // STLSOFT_CF_CDECL_SUPPORTED
02899 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02900 case calling_convention::fastcallCallConv:
02901 return dl_call_invoke_fastcall<R>(fp, 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);
02902 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02903 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02904 case calling_convention::stdcallCallConv:
02905 return dl_call_invoke_stdcall<R>(fp, 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);
02906 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02907 }
02908 }
02909
02910
02911
02912 template< ss_typename_param_k R
02913 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
02914 >
02915 inline R dl_call_dispatch_28(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
02916 {
02917 WINSTL_ASSERT(NULL != fp);
02918
02919 switch(cc)
02920 {
02921 default:
02922 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02923 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02924 case calling_convention::cdeclCallConv:
02925 return dl_call_invoke_cdecl<R>(fp, 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);
02926 #endif // STLSOFT_CF_CDECL_SUPPORTED
02927 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02928 case calling_convention::fastcallCallConv:
02929 return dl_call_invoke_fastcall<R>(fp, 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);
02930 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02931 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02932 case calling_convention::stdcallCallConv:
02933 return dl_call_invoke_stdcall<R>(fp, 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);
02934 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02935 }
02936 }
02937
02938
02939
02940 template< ss_typename_param_k R
02941 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
02942 >
02943 inline R dl_call_dispatch_29(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
02944 {
02945 WINSTL_ASSERT(NULL != fp);
02946
02947 switch(cc)
02948 {
02949 default:
02950 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02951 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02952 case calling_convention::cdeclCallConv:
02953 return dl_call_invoke_cdecl<R>(fp, 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);
02954 #endif // STLSOFT_CF_CDECL_SUPPORTED
02955 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02956 case calling_convention::fastcallCallConv:
02957 return dl_call_invoke_fastcall<R>(fp, 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);
02958 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02959 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02960 case calling_convention::stdcallCallConv:
02961 return dl_call_invoke_stdcall<R>(fp, 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);
02962 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02963 }
02964 }
02965
02966
02967
02968 template< ss_typename_param_k R
02969 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
02970 >
02971 inline R dl_call_dispatch_30(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
02972 {
02973 WINSTL_ASSERT(NULL != fp);
02974
02975 switch(cc)
02976 {
02977 default:
02978 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
02979 #ifdef STLSOFT_CF_CDECL_SUPPORTED
02980 case calling_convention::cdeclCallConv:
02981 return dl_call_invoke_cdecl<R>(fp, 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);
02982 #endif // STLSOFT_CF_CDECL_SUPPORTED
02983 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
02984 case calling_convention::fastcallCallConv:
02985 return dl_call_invoke_fastcall<R>(fp, 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);
02986 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
02987 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
02988 case calling_convention::stdcallCallConv:
02989 return dl_call_invoke_stdcall<R>(fp, 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);
02990 #endif // STLSOFT_CF_STDCALL_SUPPORTED
02991 }
02992 }
02993
02994
02995
02996 template< ss_typename_param_k R
02997 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
02998 >
02999 inline R dl_call_dispatch_31(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
03000 {
03001 WINSTL_ASSERT(NULL != fp);
03002
03003 switch(cc)
03004 {
03005 default:
03006 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
03007 #ifdef STLSOFT_CF_CDECL_SUPPORTED
03008 case calling_convention::cdeclCallConv:
03009 return dl_call_invoke_cdecl<R>(fp, 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);
03010 #endif // STLSOFT_CF_CDECL_SUPPORTED
03011 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
03012 case calling_convention::fastcallCallConv:
03013 return dl_call_invoke_fastcall<R>(fp, 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);
03014 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
03015 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
03016 case calling_convention::stdcallCallConv:
03017 return dl_call_invoke_stdcall<R>(fp, 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);
03018 #endif // STLSOFT_CF_STDCALL_SUPPORTED
03019 }
03020 }
03021
03022
03023
03024 template< ss_typename_param_k R
03025 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
03026 >
03027 inline R dl_call_dispatch_32(dl_call_traits::entry_point_type fp, calling_convention::calling_convention cc, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
03028 {
03029 WINSTL_ASSERT(NULL != fp);
03030
03031 switch(cc)
03032 {
03033 default:
03034 STLSOFT_MESSAGE_ASSERT("Invalid calling convention", 0);
03035 #ifdef STLSOFT_CF_CDECL_SUPPORTED
03036 case calling_convention::cdeclCallConv:
03037 return dl_call_invoke_cdecl<R>(fp, 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);
03038 #endif // STLSOFT_CF_CDECL_SUPPORTED
03039 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED
03040 case calling_convention::fastcallCallConv:
03041 return dl_call_invoke_fastcall<R>(fp, 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);
03042 #endif // STLSOFT_CF_FASTCALL_SUPPORTED
03043 #ifdef STLSOFT_CF_STDCALL_SUPPORTED
03044 case calling_convention::stdcallCallConv:
03045 return dl_call_invoke_stdcall<R>(fp, 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);
03046 #endif // STLSOFT_CF_STDCALL_SUPPORTED
03047 }
03048 }
03049
03050
03051
03053
03054
03055
03066
03067
03068
03069
03070 template< ss_typename_param_k R
03071 >
03072 inline R dl_call_lookup_0( dl_call_traits::library_handle_type hinst
03073 , char const* functionName
03074 , calling_convention::calling_convention const& cc)
03075 {
03076 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03077
03078 WINSTL_ASSERT(NULL != fp);
03079
03080 return dl_call_dispatch_0<R>(fp, cc);
03081 }
03082
03083
03084
03085 template< ss_typename_param_k R
03086 , ss_typename_param_k A0
03087 >
03088 inline R dl_call_lookup_1( dl_call_traits::library_handle_type hinst
03089 , char const* functionName
03090 , calling_convention::calling_convention const& cc
03091 , A0 a0)
03092 {
03093 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03094
03095 WINSTL_ASSERT(NULL != fp);
03096
03097 return dl_call_dispatch_1<R>(fp, cc, a0);
03098 }
03099
03100
03101
03102 template< ss_typename_param_k R
03103 , ss_typename_param_k A0, ss_typename_param_k A1
03104 >
03105 inline R dl_call_lookup_2( dl_call_traits::library_handle_type hinst
03106 , char const* functionName
03107 , calling_convention::calling_convention const& cc
03108 , A0 a0, A1 a1)
03109 {
03110 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03111
03112 WINSTL_ASSERT(NULL != fp);
03113
03114 return dl_call_dispatch_2<R>(fp, cc, a0, a1);
03115 }
03116
03117
03118
03119 template< ss_typename_param_k R
03120 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
03121 >
03122 inline R dl_call_lookup_3( dl_call_traits::library_handle_type hinst
03123 , char const* functionName
03124 , calling_convention::calling_convention const& cc
03125 , A0 a0, A1 a1, A2 a2)
03126 {
03127 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03128
03129 WINSTL_ASSERT(NULL != fp);
03130
03131 return dl_call_dispatch_3<R>(fp, cc, a0, a1, a2);
03132 }
03133
03134
03135
03136 template< ss_typename_param_k R
03137 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
03138 >
03139 inline R dl_call_lookup_4( dl_call_traits::library_handle_type hinst
03140 , char const* functionName
03141 , calling_convention::calling_convention const& cc
03142 , A0 a0, A1 a1, A2 a2, A3 a3)
03143 {
03144 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03145
03146 WINSTL_ASSERT(NULL != fp);
03147
03148 return dl_call_dispatch_4<R>(fp, cc, a0, a1, a2, a3);
03149 }
03150
03151
03152
03153 template< ss_typename_param_k R
03154 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
03155 >
03156 inline R dl_call_lookup_5( dl_call_traits::library_handle_type hinst
03157 , char const* functionName
03158 , calling_convention::calling_convention const& cc
03159 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
03160 {
03161 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03162
03163 WINSTL_ASSERT(NULL != fp);
03164
03165 return dl_call_dispatch_5<R>(fp, cc, a0, a1, a2, a3, a4);
03166 }
03167
03168
03169
03170 template< ss_typename_param_k R
03171 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
03172 >
03173 inline R dl_call_lookup_6( dl_call_traits::library_handle_type hinst
03174 , char const* functionName
03175 , calling_convention::calling_convention const& cc
03176 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
03177 {
03178 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03179
03180 WINSTL_ASSERT(NULL != fp);
03181
03182 return dl_call_dispatch_6<R>(fp, cc, a0, a1, a2, a3, a4, a5);
03183 }
03184
03185
03186
03187 template< ss_typename_param_k R
03188 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
03189 >
03190 inline R dl_call_lookup_7( dl_call_traits::library_handle_type hinst
03191 , char const* functionName
03192 , calling_convention::calling_convention const& cc
03193 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
03194 {
03195 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03196
03197 WINSTL_ASSERT(NULL != fp);
03198
03199 return dl_call_dispatch_7<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6);
03200 }
03201
03202
03203
03204 template< ss_typename_param_k R
03205 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
03206 >
03207 inline R dl_call_lookup_8( dl_call_traits::library_handle_type hinst
03208 , char const* functionName
03209 , calling_convention::calling_convention const& cc
03210 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
03211 {
03212 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03213
03214 WINSTL_ASSERT(NULL != fp);
03215
03216 return dl_call_dispatch_8<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7);
03217 }
03218
03219
03220
03221 template< ss_typename_param_k R
03222 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
03223 >
03224 inline R dl_call_lookup_9( dl_call_traits::library_handle_type hinst
03225 , char const* functionName
03226 , calling_convention::calling_convention const& cc
03227 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
03228 {
03229 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03230
03231 WINSTL_ASSERT(NULL != fp);
03232
03233 return dl_call_dispatch_9<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8);
03234 }
03235
03236
03237
03238 template< ss_typename_param_k R
03239 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
03240 >
03241 inline R dl_call_lookup_10( dl_call_traits::library_handle_type hinst
03242 , char const* functionName
03243 , calling_convention::calling_convention const& cc
03244 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
03245 {
03246 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03247
03248 WINSTL_ASSERT(NULL != fp);
03249
03250 return dl_call_dispatch_10<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
03251 }
03252
03253
03254
03255 template< ss_typename_param_k R
03256 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
03257 >
03258 inline R dl_call_lookup_11( dl_call_traits::library_handle_type hinst
03259 , char const* functionName
03260 , calling_convention::calling_convention const& cc
03261 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
03262 {
03263 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03264
03265 WINSTL_ASSERT(NULL != fp);
03266
03267 return dl_call_dispatch_11<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
03268 }
03269
03270
03271
03272 template< ss_typename_param_k R
03273 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
03274 >
03275 inline R dl_call_lookup_12( dl_call_traits::library_handle_type hinst
03276 , char const* functionName
03277 , calling_convention::calling_convention const& cc
03278 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
03279 {
03280 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03281
03282 WINSTL_ASSERT(NULL != fp);
03283
03284 return dl_call_dispatch_12<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
03285 }
03286
03287
03288
03289 template< ss_typename_param_k R
03290 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
03291 >
03292 inline R dl_call_lookup_13( dl_call_traits::library_handle_type hinst
03293 , char const* functionName
03294 , calling_convention::calling_convention const& cc
03295 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
03296 {
03297 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03298
03299 WINSTL_ASSERT(NULL != fp);
03300
03301 return dl_call_dispatch_13<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
03302 }
03303
03304
03305
03306 template< ss_typename_param_k R
03307 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
03308 >
03309 inline R dl_call_lookup_14( dl_call_traits::library_handle_type hinst
03310 , char const* functionName
03311 , calling_convention::calling_convention const& cc
03312 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
03313 {
03314 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03315
03316 WINSTL_ASSERT(NULL != fp);
03317
03318 return dl_call_dispatch_14<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
03319 }
03320
03321
03322
03323 template< ss_typename_param_k R
03324 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
03325 >
03326 inline R dl_call_lookup_15( dl_call_traits::library_handle_type hinst
03327 , char const* functionName
03328 , calling_convention::calling_convention const& cc
03329 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
03330 {
03331 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03332
03333 WINSTL_ASSERT(NULL != fp);
03334
03335 return dl_call_dispatch_15<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
03336 }
03337
03338
03339
03340 template< ss_typename_param_k R
03341 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
03342 >
03343 inline R dl_call_lookup_16( dl_call_traits::library_handle_type hinst
03344 , char const* functionName
03345 , calling_convention::calling_convention const& cc
03346 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
03347 {
03348 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03349
03350 WINSTL_ASSERT(NULL != fp);
03351
03352 return dl_call_dispatch_16<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
03353 }
03354
03355
03356
03357 template< ss_typename_param_k R
03358 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
03359 >
03360 inline R dl_call_lookup_17( dl_call_traits::library_handle_type hinst
03361 , char const* functionName
03362 , calling_convention::calling_convention const& cc
03363 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
03364 {
03365 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03366
03367 WINSTL_ASSERT(NULL != fp);
03368
03369 return dl_call_dispatch_17<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
03370 }
03371
03372
03373
03374 template< ss_typename_param_k R
03375 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
03376 >
03377 inline R dl_call_lookup_18( dl_call_traits::library_handle_type hinst
03378 , char const* functionName
03379 , calling_convention::calling_convention const& cc
03380 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
03381 {
03382 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03383
03384 WINSTL_ASSERT(NULL != fp);
03385
03386 return dl_call_dispatch_18<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
03387 }
03388
03389
03390
03391 template< ss_typename_param_k R
03392 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
03393 >
03394 inline R dl_call_lookup_19( dl_call_traits::library_handle_type hinst
03395 , char const* functionName
03396 , calling_convention::calling_convention const& cc
03397 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
03398 {
03399 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03400
03401 WINSTL_ASSERT(NULL != fp);
03402
03403 return dl_call_dispatch_19<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
03404 }
03405
03406
03407
03408 template< ss_typename_param_k R
03409 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
03410 >
03411 inline R dl_call_lookup_20( dl_call_traits::library_handle_type hinst
03412 , char const* functionName
03413 , calling_convention::calling_convention const& cc
03414 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
03415 {
03416 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03417
03418 WINSTL_ASSERT(NULL != fp);
03419
03420 return dl_call_dispatch_20<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
03421 }
03422
03423
03424
03425 template< ss_typename_param_k R
03426 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
03427 >
03428 inline R dl_call_lookup_21( dl_call_traits::library_handle_type hinst
03429 , char const* functionName
03430 , calling_convention::calling_convention const& cc
03431 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
03432 {
03433 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03434
03435 WINSTL_ASSERT(NULL != fp);
03436
03437 return dl_call_dispatch_21<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
03438 }
03439
03440
03441
03442 template< ss_typename_param_k R
03443 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
03444 >
03445 inline R dl_call_lookup_22( dl_call_traits::library_handle_type hinst
03446 , char const* functionName
03447 , calling_convention::calling_convention const& cc
03448 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
03449 {
03450 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03451
03452 WINSTL_ASSERT(NULL != fp);
03453
03454 return dl_call_dispatch_22<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
03455 }
03456
03457
03458
03459 template< ss_typename_param_k R
03460 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
03461 >
03462 inline R dl_call_lookup_23( dl_call_traits::library_handle_type hinst
03463 , char const* functionName
03464 , calling_convention::calling_convention const& cc
03465 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
03466 {
03467 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03468
03469 WINSTL_ASSERT(NULL != fp);
03470
03471 return dl_call_dispatch_23<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
03472 }
03473
03474
03475
03476 template< ss_typename_param_k R
03477 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
03478 >
03479 inline R dl_call_lookup_24( dl_call_traits::library_handle_type hinst
03480 , char const* functionName
03481 , calling_convention::calling_convention const& cc
03482 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
03483 {
03484 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03485
03486 WINSTL_ASSERT(NULL != fp);
03487
03488 return dl_call_dispatch_24<R>(fp, cc, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
03489 }
03490
03491
03492
03493 template< ss_typename_param_k R
03494 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
03495 >
03496 inline R dl_call_lookup_25( dl_call_traits::library_handle_type hinst
03497 , char const* functionName
03498 , calling_convention::calling_convention const& cc
03499 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
03500 {
03501 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03502
03503 WINSTL_ASSERT(NULL != fp);
03504
03505 return dl_call_dispatch_25<R>(fp, cc, 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);
03506 }
03507
03508
03509
03510 template< ss_typename_param_k R
03511 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
03512 >
03513 inline R dl_call_lookup_26( dl_call_traits::library_handle_type hinst
03514 , char const* functionName
03515 , calling_convention::calling_convention const& cc
03516 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
03517 {
03518 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03519
03520 WINSTL_ASSERT(NULL != fp);
03521
03522 return dl_call_dispatch_26<R>(fp, cc, 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);
03523 }
03524
03525
03526
03527 template< ss_typename_param_k R
03528 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
03529 >
03530 inline R dl_call_lookup_27( dl_call_traits::library_handle_type hinst
03531 , char const* functionName
03532 , calling_convention::calling_convention const& cc
03533 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
03534 {
03535 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03536
03537 WINSTL_ASSERT(NULL != fp);
03538
03539 return dl_call_dispatch_27<R>(fp, cc, 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);
03540 }
03541
03542
03543
03544 template< ss_typename_param_k R
03545 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
03546 >
03547 inline R dl_call_lookup_28( dl_call_traits::library_handle_type hinst
03548 , char const* functionName
03549 , calling_convention::calling_convention const& cc
03550 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
03551 {
03552 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03553
03554 WINSTL_ASSERT(NULL != fp);
03555
03556 return dl_call_dispatch_28<R>(fp, cc, 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);
03557 }
03558
03559
03560
03561 template< ss_typename_param_k R
03562 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
03563 >
03564 inline R dl_call_lookup_29( dl_call_traits::library_handle_type hinst
03565 , char const* functionName
03566 , calling_convention::calling_convention const& cc
03567 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
03568 {
03569 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03570
03571 WINSTL_ASSERT(NULL != fp);
03572
03573 return dl_call_dispatch_29<R>(fp, cc, 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);
03574 }
03575
03576
03577
03578 template< ss_typename_param_k R
03579 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
03580 >
03581 inline R dl_call_lookup_30( dl_call_traits::library_handle_type hinst
03582 , char const* functionName
03583 , calling_convention::calling_convention const& cc
03584 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
03585 {
03586 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03587
03588 WINSTL_ASSERT(NULL != fp);
03589
03590 return dl_call_dispatch_30<R>(fp, cc, 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);
03591 }
03592
03593
03594
03595 template< ss_typename_param_k R
03596 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
03597 >
03598 inline R dl_call_lookup_31( dl_call_traits::library_handle_type hinst
03599 , char const* functionName
03600 , calling_convention::calling_convention const& cc
03601 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
03602 {
03603 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03604
03605 WINSTL_ASSERT(NULL != fp);
03606
03607 return dl_call_dispatch_31<R>(fp, cc, 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);
03608 }
03609
03610
03611
03612 template< ss_typename_param_k R
03613 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
03614 >
03615 inline R dl_call_lookup_32( dl_call_traits::library_handle_type hinst
03616 , char const* functionName
03617 , calling_convention::calling_convention const& cc
03618 , A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
03619 {
03620 dl_call_traits::entry_point_type fp = lookup_symbol_(hinst, functionName);
03621
03622 WINSTL_ASSERT(NULL != fp);
03623
03624 return dl_call_dispatch_32<R>(fp, cc, 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);
03625 }
03626
03627
03628
03630
03631
03632
03643
03644
03645
03646
03647
03648 template< ss_typename_param_k R
03649 , ss_typename_param_k FD
03650 >
03651 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd)
03652 {
03653 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03654
03655
03656
03657
03658
03659
03660
03661
03662
03663
03664 return dl_call_lookup_0<R>( hinst
03665 , detect_cc_( test_fd_(&fd)
03666 , stlsoft::c_str_ptr(lock_name_( fd
03667 , test_fd_(&fd)))
03668 , fd
03669 , cc)
03670 , cc);
03671 }
03672
03673 template< ss_typename_param_k R
03674 , ss_typename_param_k S
03675 , ss_typename_param_k FD
03676 >
03677 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd)
03678 {
03679 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd);
03680 }
03681
03682
03683
03684
03685 template< ss_typename_param_k R
03686 , ss_typename_param_k FD
03687 , ss_typename_param_k A0
03688 >
03689 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0)
03690 {
03691 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03692
03693 return dl_call_lookup_1<R>( hinst
03694 , detect_cc_( test_fd_(&fd)
03695 , stlsoft::c_str_ptr(lock_name_( fd
03696 , test_fd_(&fd)))
03697 , fd
03698 , cc)
03699 , cc
03700 , a0);
03701 }
03702
03703 template< ss_typename_param_k R
03704 , ss_typename_param_k S
03705 , ss_typename_param_k FD
03706 , ss_typename_param_k A0
03707 >
03708 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0)
03709 {
03710 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0);
03711 }
03712
03713
03714
03715
03716 template< ss_typename_param_k R
03717 , ss_typename_param_k FD
03718 , ss_typename_param_k A0, ss_typename_param_k A1
03719 >
03720 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1)
03721 {
03722 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03723
03724 return dl_call_lookup_2<R>( hinst
03725 , detect_cc_( test_fd_(&fd)
03726 , stlsoft::c_str_ptr(lock_name_( fd
03727 , test_fd_(&fd)))
03728 , fd
03729 , cc)
03730 , cc
03731 , a0, a1);
03732 }
03733
03734 template< ss_typename_param_k R
03735 , ss_typename_param_k S
03736 , ss_typename_param_k FD
03737 , ss_typename_param_k A0, ss_typename_param_k A1
03738 >
03739 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1)
03740 {
03741 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1);
03742 }
03743
03744
03745
03746
03747 template< ss_typename_param_k R
03748 , ss_typename_param_k FD
03749 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
03750 >
03751 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2)
03752 {
03753 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03754
03755 return dl_call_lookup_3<R>( hinst
03756 , detect_cc_( test_fd_(&fd)
03757 , stlsoft::c_str_ptr(lock_name_( fd
03758 , test_fd_(&fd)))
03759 , fd
03760 , cc)
03761 , cc
03762 , a0, a1, a2);
03763 }
03764
03765 template< ss_typename_param_k R
03766 , ss_typename_param_k S
03767 , ss_typename_param_k FD
03768 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
03769 >
03770 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2)
03771 {
03772 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2);
03773 }
03774
03775
03776
03777
03778 template< ss_typename_param_k R
03779 , ss_typename_param_k FD
03780 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
03781 >
03782 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3)
03783 {
03784 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03785
03786 return dl_call_lookup_4<R>( hinst
03787 , detect_cc_( test_fd_(&fd)
03788 , stlsoft::c_str_ptr(lock_name_( fd
03789 , test_fd_(&fd)))
03790 , fd
03791 , cc)
03792 , cc
03793 , a0, a1, a2, a3);
03794 }
03795
03796 template< ss_typename_param_k R
03797 , ss_typename_param_k S
03798 , ss_typename_param_k FD
03799 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
03800 >
03801 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3)
03802 {
03803 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3);
03804 }
03805
03806
03807
03808
03809 template< ss_typename_param_k R
03810 , ss_typename_param_k FD
03811 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
03812 >
03813 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
03814 {
03815 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03816
03817 return dl_call_lookup_5<R>( hinst
03818 , detect_cc_( test_fd_(&fd)
03819 , stlsoft::c_str_ptr(lock_name_( fd
03820 , test_fd_(&fd)))
03821 , fd
03822 , cc)
03823 , cc
03824 , a0, a1, a2, a3, a4);
03825 }
03826
03827 template< ss_typename_param_k R
03828 , ss_typename_param_k S
03829 , ss_typename_param_k FD
03830 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
03831 >
03832 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
03833 {
03834 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4);
03835 }
03836
03837
03838
03839
03840 template< ss_typename_param_k R
03841 , ss_typename_param_k FD
03842 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
03843 >
03844 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
03845 {
03846 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03847
03848 return dl_call_lookup_6<R>( hinst
03849 , detect_cc_( test_fd_(&fd)
03850 , stlsoft::c_str_ptr(lock_name_( fd
03851 , test_fd_(&fd)))
03852 , fd
03853 , cc)
03854 , cc
03855 , a0, a1, a2, a3, a4, a5);
03856 }
03857
03858 template< ss_typename_param_k R
03859 , ss_typename_param_k S
03860 , ss_typename_param_k FD
03861 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
03862 >
03863 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
03864 {
03865 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5);
03866 }
03867
03868
03869
03870
03871 template< ss_typename_param_k R
03872 , ss_typename_param_k FD
03873 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
03874 >
03875 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
03876 {
03877 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03878
03879 return dl_call_lookup_7<R>( hinst
03880 , detect_cc_( test_fd_(&fd)
03881 , stlsoft::c_str_ptr(lock_name_( fd
03882 , test_fd_(&fd)))
03883 , fd
03884 , cc)
03885 , cc
03886 , a0, a1, a2, a3, a4, a5, a6);
03887 }
03888
03889 template< ss_typename_param_k R
03890 , ss_typename_param_k S
03891 , ss_typename_param_k FD
03892 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
03893 >
03894 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
03895 {
03896 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6);
03897 }
03898
03899
03900
03901
03902 template< ss_typename_param_k R
03903 , ss_typename_param_k FD
03904 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
03905 >
03906 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
03907 {
03908 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03909
03910 return dl_call_lookup_8<R>( hinst
03911 , detect_cc_( test_fd_(&fd)
03912 , stlsoft::c_str_ptr(lock_name_( fd
03913 , test_fd_(&fd)))
03914 , fd
03915 , cc)
03916 , cc
03917 , a0, a1, a2, a3, a4, a5, a6, a7);
03918 }
03919
03920 template< ss_typename_param_k R
03921 , ss_typename_param_k S
03922 , ss_typename_param_k FD
03923 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
03924 >
03925 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
03926 {
03927 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7);
03928 }
03929
03930
03931
03932
03933 template< ss_typename_param_k R
03934 , ss_typename_param_k FD
03935 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
03936 >
03937 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
03938 {
03939 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03940
03941 return dl_call_lookup_9<R>( hinst
03942 , detect_cc_( test_fd_(&fd)
03943 , stlsoft::c_str_ptr(lock_name_( fd
03944 , test_fd_(&fd)))
03945 , fd
03946 , cc)
03947 , cc
03948 , a0, a1, a2, a3, a4, a5, a6, a7, a8);
03949 }
03950
03951 template< ss_typename_param_k R
03952 , ss_typename_param_k S
03953 , ss_typename_param_k FD
03954 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
03955 >
03956 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
03957 {
03958 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8);
03959 }
03960
03961
03962
03963
03964 template< ss_typename_param_k R
03965 , ss_typename_param_k FD
03966 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
03967 >
03968 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
03969 {
03970 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
03971
03972 return dl_call_lookup_10<R>( hinst
03973 , detect_cc_( test_fd_(&fd)
03974 , stlsoft::c_str_ptr(lock_name_( fd
03975 , test_fd_(&fd)))
03976 , fd
03977 , cc)
03978 , cc
03979 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
03980 }
03981
03982 template< ss_typename_param_k R
03983 , ss_typename_param_k S
03984 , ss_typename_param_k FD
03985 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
03986 >
03987 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
03988 {
03989 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
03990 }
03991
03992
03993
03994
03995 template< ss_typename_param_k R
03996 , ss_typename_param_k FD
03997 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
03998 >
03999 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
04000 {
04001 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04002
04003 return dl_call_lookup_11<R>( hinst
04004 , detect_cc_( test_fd_(&fd)
04005 , stlsoft::c_str_ptr(lock_name_( fd
04006 , test_fd_(&fd)))
04007 , fd
04008 , cc)
04009 , cc
04010 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
04011 }
04012
04013 template< ss_typename_param_k R
04014 , ss_typename_param_k S
04015 , ss_typename_param_k FD
04016 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
04017 >
04018 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
04019 {
04020 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
04021 }
04022
04023
04024
04025
04026 template< ss_typename_param_k R
04027 , ss_typename_param_k FD
04028 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
04029 >
04030 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
04031 {
04032 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04033
04034 return dl_call_lookup_12<R>( hinst
04035 , detect_cc_( test_fd_(&fd)
04036 , stlsoft::c_str_ptr(lock_name_( fd
04037 , test_fd_(&fd)))
04038 , fd
04039 , cc)
04040 , cc
04041 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
04042 }
04043
04044 template< ss_typename_param_k R
04045 , ss_typename_param_k S
04046 , ss_typename_param_k FD
04047 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
04048 >
04049 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
04050 {
04051 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
04052 }
04053
04054
04055
04056
04057 template< ss_typename_param_k R
04058 , ss_typename_param_k FD
04059 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
04060 >
04061 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
04062 {
04063 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04064
04065 return dl_call_lookup_13<R>( hinst
04066 , detect_cc_( test_fd_(&fd)
04067 , stlsoft::c_str_ptr(lock_name_( fd
04068 , test_fd_(&fd)))
04069 , fd
04070 , cc)
04071 , cc
04072 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
04073 }
04074
04075 template< ss_typename_param_k R
04076 , ss_typename_param_k S
04077 , ss_typename_param_k FD
04078 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
04079 >
04080 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
04081 {
04082 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
04083 }
04084
04085
04086
04087
04088 template< ss_typename_param_k R
04089 , ss_typename_param_k FD
04090 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
04091 >
04092 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
04093 {
04094 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04095
04096 return dl_call_lookup_14<R>( hinst
04097 , detect_cc_( test_fd_(&fd)
04098 , stlsoft::c_str_ptr(lock_name_( fd
04099 , test_fd_(&fd)))
04100 , fd
04101 , cc)
04102 , cc
04103 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
04104 }
04105
04106 template< ss_typename_param_k R
04107 , ss_typename_param_k S
04108 , ss_typename_param_k FD
04109 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
04110 >
04111 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
04112 {
04113 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
04114 }
04115
04116
04117
04118
04119 template< ss_typename_param_k R
04120 , ss_typename_param_k FD
04121 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
04122 >
04123 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
04124 {
04125 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04126
04127 return dl_call_lookup_15<R>( hinst
04128 , detect_cc_( test_fd_(&fd)
04129 , stlsoft::c_str_ptr(lock_name_( fd
04130 , test_fd_(&fd)))
04131 , fd
04132 , cc)
04133 , cc
04134 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
04135 }
04136
04137 template< ss_typename_param_k R
04138 , ss_typename_param_k S
04139 , ss_typename_param_k FD
04140 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
04141 >
04142 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
04143 {
04144 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
04145 }
04146
04147
04148
04149
04150 template< ss_typename_param_k R
04151 , ss_typename_param_k FD
04152 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
04153 >
04154 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
04155 {
04156 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04157
04158 return dl_call_lookup_16<R>( hinst
04159 , detect_cc_( test_fd_(&fd)
04160 , stlsoft::c_str_ptr(lock_name_( fd
04161 , test_fd_(&fd)))
04162 , fd
04163 , cc)
04164 , cc
04165 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
04166 }
04167
04168 template< ss_typename_param_k R
04169 , ss_typename_param_k S
04170 , ss_typename_param_k FD
04171 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
04172 >
04173 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
04174 {
04175 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
04176 }
04177
04178
04179
04180
04181 template< ss_typename_param_k R
04182 , ss_typename_param_k FD
04183 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
04184 >
04185 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
04186 {
04187 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04188
04189 return dl_call_lookup_17<R>( hinst
04190 , detect_cc_( test_fd_(&fd)
04191 , stlsoft::c_str_ptr(lock_name_( fd
04192 , test_fd_(&fd)))
04193 , fd
04194 , cc)
04195 , cc
04196 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
04197 }
04198
04199 template< ss_typename_param_k R
04200 , ss_typename_param_k S
04201 , ss_typename_param_k FD
04202 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
04203 >
04204 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
04205 {
04206 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
04207 }
04208
04209
04210
04211
04212 template< ss_typename_param_k R
04213 , ss_typename_param_k FD
04214 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
04215 >
04216 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
04217 {
04218 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04219
04220 return dl_call_lookup_18<R>( hinst
04221 , detect_cc_( test_fd_(&fd)
04222 , stlsoft::c_str_ptr(lock_name_( fd
04223 , test_fd_(&fd)))
04224 , fd
04225 , cc)
04226 , cc
04227 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
04228 }
04229
04230 template< ss_typename_param_k R
04231 , ss_typename_param_k S
04232 , ss_typename_param_k FD
04233 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
04234 >
04235 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
04236 {
04237 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
04238 }
04239
04240
04241
04242
04243 template< ss_typename_param_k R
04244 , ss_typename_param_k FD
04245 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
04246 >
04247 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
04248 {
04249 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04250
04251 return dl_call_lookup_19<R>( hinst
04252 , detect_cc_( test_fd_(&fd)
04253 , stlsoft::c_str_ptr(lock_name_( fd
04254 , test_fd_(&fd)))
04255 , fd
04256 , cc)
04257 , cc
04258 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
04259 }
04260
04261 template< ss_typename_param_k R
04262 , ss_typename_param_k S
04263 , ss_typename_param_k FD
04264 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
04265 >
04266 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
04267 {
04268 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
04269 }
04270
04271
04272
04273
04274 template< ss_typename_param_k R
04275 , ss_typename_param_k FD
04276 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
04277 >
04278 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
04279 {
04280 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04281
04282 return dl_call_lookup_20<R>( hinst
04283 , detect_cc_( test_fd_(&fd)
04284 , stlsoft::c_str_ptr(lock_name_( fd
04285 , test_fd_(&fd)))
04286 , fd
04287 , cc)
04288 , cc
04289 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
04290 }
04291
04292 template< ss_typename_param_k R
04293 , ss_typename_param_k S
04294 , ss_typename_param_k FD
04295 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
04296 >
04297 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
04298 {
04299 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
04300 }
04301
04302
04303
04304
04305 template< ss_typename_param_k R
04306 , ss_typename_param_k FD
04307 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
04308 >
04309 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
04310 {
04311 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04312
04313 return dl_call_lookup_21<R>( hinst
04314 , detect_cc_( test_fd_(&fd)
04315 , stlsoft::c_str_ptr(lock_name_( fd
04316 , test_fd_(&fd)))
04317 , fd
04318 , cc)
04319 , cc
04320 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
04321 }
04322
04323 template< ss_typename_param_k R
04324 , ss_typename_param_k S
04325 , ss_typename_param_k FD
04326 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
04327 >
04328 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
04329 {
04330 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
04331 }
04332
04333
04334
04335
04336 template< ss_typename_param_k R
04337 , ss_typename_param_k FD
04338 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
04339 >
04340 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
04341 {
04342 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04343
04344 return dl_call_lookup_22<R>( hinst
04345 , detect_cc_( test_fd_(&fd)
04346 , stlsoft::c_str_ptr(lock_name_( fd
04347 , test_fd_(&fd)))
04348 , fd
04349 , cc)
04350 , cc
04351 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
04352 }
04353
04354 template< ss_typename_param_k R
04355 , ss_typename_param_k S
04356 , ss_typename_param_k FD
04357 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
04358 >
04359 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
04360 {
04361 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
04362 }
04363
04364
04365
04366
04367 template< ss_typename_param_k R
04368 , ss_typename_param_k FD
04369 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
04370 >
04371 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
04372 {
04373 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04374
04375 return dl_call_lookup_23<R>( hinst
04376 , detect_cc_( test_fd_(&fd)
04377 , stlsoft::c_str_ptr(lock_name_( fd
04378 , test_fd_(&fd)))
04379 , fd
04380 , cc)
04381 , cc
04382 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
04383 }
04384
04385 template< ss_typename_param_k R
04386 , ss_typename_param_k S
04387 , ss_typename_param_k FD
04388 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
04389 >
04390 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
04391 {
04392 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
04393 }
04394
04395
04396
04397
04398 template< ss_typename_param_k R
04399 , ss_typename_param_k FD
04400 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
04401 >
04402 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
04403 {
04404 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04405
04406 return dl_call_lookup_24<R>( hinst
04407 , detect_cc_( test_fd_(&fd)
04408 , stlsoft::c_str_ptr(lock_name_( fd
04409 , test_fd_(&fd)))
04410 , fd
04411 , cc)
04412 , cc
04413 , a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
04414 }
04415
04416 template< ss_typename_param_k R
04417 , ss_typename_param_k S
04418 , ss_typename_param_k FD
04419 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
04420 >
04421 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
04422 {
04423 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
04424 }
04425
04426
04427
04428
04429 template< ss_typename_param_k R
04430 , ss_typename_param_k FD
04431 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
04432 >
04433 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
04434 {
04435 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04436
04437 return dl_call_lookup_25<R>( hinst
04438 , detect_cc_( test_fd_(&fd)
04439 , stlsoft::c_str_ptr(lock_name_( fd
04440 , test_fd_(&fd)))
04441 , fd
04442 , cc)
04443 , cc
04444 , 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);
04445 }
04446
04447 template< ss_typename_param_k R
04448 , ss_typename_param_k S
04449 , ss_typename_param_k FD
04450 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
04451 >
04452 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
04453 {
04454 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04455 }
04456
04457
04458
04459
04460 template< ss_typename_param_k R
04461 , ss_typename_param_k FD
04462 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
04463 >
04464 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
04465 {
04466 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04467
04468 return dl_call_lookup_26<R>( hinst
04469 , detect_cc_( test_fd_(&fd)
04470 , stlsoft::c_str_ptr(lock_name_( fd
04471 , test_fd_(&fd)))
04472 , fd
04473 , cc)
04474 , cc
04475 , 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);
04476 }
04477
04478 template< ss_typename_param_k R
04479 , ss_typename_param_k S
04480 , ss_typename_param_k FD
04481 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
04482 >
04483 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
04484 {
04485 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04486 }
04487
04488
04489
04490
04491 template< ss_typename_param_k R
04492 , ss_typename_param_k FD
04493 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
04494 >
04495 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
04496 {
04497 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04498
04499 return dl_call_lookup_27<R>( hinst
04500 , detect_cc_( test_fd_(&fd)
04501 , stlsoft::c_str_ptr(lock_name_( fd
04502 , test_fd_(&fd)))
04503 , fd
04504 , cc)
04505 , cc
04506 , 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);
04507 }
04508
04509 template< ss_typename_param_k R
04510 , ss_typename_param_k S
04511 , ss_typename_param_k FD
04512 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
04513 >
04514 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
04515 {
04516 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04517 }
04518
04519
04520
04521
04522 template< ss_typename_param_k R
04523 , ss_typename_param_k FD
04524 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
04525 >
04526 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
04527 {
04528 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04529
04530 return dl_call_lookup_28<R>( hinst
04531 , detect_cc_( test_fd_(&fd)
04532 , stlsoft::c_str_ptr(lock_name_( fd
04533 , test_fd_(&fd)))
04534 , fd
04535 , cc)
04536 , cc
04537 , 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);
04538 }
04539
04540 template< ss_typename_param_k R
04541 , ss_typename_param_k S
04542 , ss_typename_param_k FD
04543 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
04544 >
04545 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
04546 {
04547 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04548 }
04549
04550
04551
04552
04553 template< ss_typename_param_k R
04554 , ss_typename_param_k FD
04555 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
04556 >
04557 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
04558 {
04559 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04560
04561 return dl_call_lookup_29<R>( hinst
04562 , detect_cc_( test_fd_(&fd)
04563 , stlsoft::c_str_ptr(lock_name_( fd
04564 , test_fd_(&fd)))
04565 , fd
04566 , cc)
04567 , cc
04568 , 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);
04569 }
04570
04571 template< ss_typename_param_k R
04572 , ss_typename_param_k S
04573 , ss_typename_param_k FD
04574 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
04575 >
04576 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
04577 {
04578 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04579 }
04580
04581
04582
04583
04584 template< ss_typename_param_k R
04585 , ss_typename_param_k FD
04586 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
04587 >
04588 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
04589 {
04590 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04591
04592 return dl_call_lookup_30<R>( hinst
04593 , detect_cc_( test_fd_(&fd)
04594 , stlsoft::c_str_ptr(lock_name_( fd
04595 , test_fd_(&fd)))
04596 , fd
04597 , cc)
04598 , cc
04599 , 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);
04600 }
04601
04602 template< ss_typename_param_k R
04603 , ss_typename_param_k S
04604 , ss_typename_param_k FD
04605 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
04606 >
04607 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
04608 {
04609 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04610 }
04611
04612
04613
04614
04615 template< ss_typename_param_k R
04616 , ss_typename_param_k FD
04617 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
04618 >
04619 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
04620 {
04621 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04622
04623 return dl_call_lookup_31<R>( hinst
04624 , detect_cc_( test_fd_(&fd)
04625 , stlsoft::c_str_ptr(lock_name_( fd
04626 , test_fd_(&fd)))
04627 , fd
04628 , cc)
04629 , cc
04630 , 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);
04631 }
04632
04633 template< ss_typename_param_k R
04634 , ss_typename_param_k S
04635 , ss_typename_param_k FD
04636 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
04637 >
04638 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
04639 {
04640 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04641 }
04642
04643
04644
04645
04646 template< ss_typename_param_k R
04647 , ss_typename_param_k FD
04648 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
04649 >
04650 inline R dl_call_MOD(dl_call_traits::library_is_handle, dl_call_traits::library_handle_type hinst, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
04651 {
04652 calling_convention::calling_convention cc = calling_convention::unknownCallConv;
04653
04654 return dl_call_lookup_32<R>( hinst
04655 , detect_cc_( test_fd_(&fd)
04656 , stlsoft::c_str_ptr(lock_name_( fd
04657 , test_fd_(&fd)))
04658 , fd
04659 , cc)
04660 , cc
04661 , 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);
04662 }
04663
04664 template< ss_typename_param_k R
04665 , ss_typename_param_k S
04666 , ss_typename_param_k FD
04667 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
04668 >
04669 inline R dl_call_MOD(dl_call_traits::library_is_not_handle, S const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
04670 {
04671 return dl_call_MOD<R>(dl_call_traits::library_is_handle(), dl_call_traits::module_wrapper_type(stlsoft::c_str_ptr(library)).get_module_handle(), fd, 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);
04672 }
04673
04674
04675
04677
04678
04679
04689
04690
04691
04692
04693
04697 template< ss_typename_param_k R
04698 , ss_typename_param_k L
04699 , ss_typename_param_k FD
04700 >
04701 inline R dl_call(L const& library, FD const& fd)
04702 {
04703 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04704 #endif
04705
04706 return dl_call_MOD<R>(test_library_(library), library, fd);
04707 }
04708
04709
04710
04711
04715 template< ss_typename_param_k R
04716 , ss_typename_param_k L
04717 , ss_typename_param_k FD
04718 , ss_typename_param_k A0
04719 >
04720 inline R dl_call(L const& library, FD const& fd, A0 a0)
04721 {
04722 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04723 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04724 #endif
04725
04726 return dl_call_MOD<R>(test_library_(library), library, fd, a0);
04727 }
04728
04729
04730
04731
04735 template< ss_typename_param_k R
04736 , ss_typename_param_k L
04737 , ss_typename_param_k FD
04738 , ss_typename_param_k A0, ss_typename_param_k A1
04739 >
04740 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1)
04741 {
04742 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04743 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04744 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04745 #endif
04746
04747 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1);
04748 }
04749
04750
04751
04752
04756 template< ss_typename_param_k R
04757 , ss_typename_param_k L
04758 , ss_typename_param_k FD
04759 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2
04760 >
04761 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2)
04762 {
04763 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04764 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04765 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04766 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04767 #endif
04768
04769 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2);
04770 }
04771
04772
04773
04774
04778 template< ss_typename_param_k R
04779 , ss_typename_param_k L
04780 , ss_typename_param_k FD
04781 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3
04782 >
04783 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3)
04784 {
04785 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04786 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04787 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04788 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04789 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04790 #endif
04791
04792 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3);
04793 }
04794
04795
04796
04797
04801 template< ss_typename_param_k R
04802 , ss_typename_param_k L
04803 , ss_typename_param_k FD
04804 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4
04805 >
04806 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
04807 {
04808 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04809 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04810 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04811 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04812 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04813 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04814 #endif
04815
04816 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4);
04817 }
04818
04819
04820
04821
04825 template< ss_typename_param_k R
04826 , ss_typename_param_k L
04827 , ss_typename_param_k FD
04828 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5
04829 >
04830 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
04831 {
04832 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04833 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04834 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04835 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04836 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04837 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04838 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04839 #endif
04840
04841 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5);
04842 }
04843
04844
04845
04846
04850 template< ss_typename_param_k R
04851 , ss_typename_param_k L
04852 , ss_typename_param_k FD
04853 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6
04854 >
04855 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
04856 {
04857 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04858 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04859 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04860 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04861 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04862 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04863 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04864 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
04865 #endif
04866
04867 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6);
04868 }
04869
04870
04871
04872
04876 template< ss_typename_param_k R
04877 , ss_typename_param_k L
04878 , ss_typename_param_k FD
04879 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7
04880 >
04881 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
04882 {
04883 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04884 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04885 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04886 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04887 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04888 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04889 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04890 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
04891 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
04892 #endif
04893
04894 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7);
04895 }
04896
04897
04898
04899
04903 template< ss_typename_param_k R
04904 , ss_typename_param_k L
04905 , ss_typename_param_k FD
04906 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8
04907 >
04908 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
04909 {
04910 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04911 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04912 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04913 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04914 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04915 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04916 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04917 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
04918 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
04919 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
04920 #endif
04921
04922 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8);
04923 }
04924
04925
04926
04927
04931 template< ss_typename_param_k R
04932 , ss_typename_param_k L
04933 , ss_typename_param_k FD
04934 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9
04935 >
04936 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
04937 {
04938 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04939 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04940 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04941 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04942 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04943 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04944 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04945 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
04946 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
04947 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
04948 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
04949 #endif
04950
04951 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
04952 }
04953
04954
04955
04956
04960 template< ss_typename_param_k R
04961 , ss_typename_param_k L
04962 , ss_typename_param_k FD
04963 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10
04964 >
04965 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
04966 {
04967 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04968 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04969 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
04970 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
04971 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
04972 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
04973 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
04974 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
04975 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
04976 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
04977 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
04978 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
04979 #endif
04980
04981 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
04982 }
04983
04984
04985
04986
04990 template< ss_typename_param_k R
04991 , ss_typename_param_k L
04992 , ss_typename_param_k FD
04993 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11
04994 >
04995 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
04996 {
04997 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
04998 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
04999 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05000 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05001 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05002 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05003 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05004 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05005 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05006 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05007 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05008 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05009 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05010 #endif
05011
05012 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
05013 }
05014
05015
05016
05017
05021 template< ss_typename_param_k R
05022 , ss_typename_param_k L
05023 , ss_typename_param_k FD
05024 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12
05025 >
05026 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
05027 {
05028 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05029 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05030 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05031 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05032 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05033 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05034 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05035 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05036 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05037 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05038 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05039 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05040 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05041 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05042 #endif
05043
05044 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
05045 }
05046
05047
05048
05049
05053 template< ss_typename_param_k R
05054 , ss_typename_param_k L
05055 , ss_typename_param_k FD
05056 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13
05057 >
05058 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
05059 {
05060 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05061 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05062 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05063 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05064 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05065 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05066 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05067 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05068 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05069 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05070 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05071 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05072 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05073 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05074 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05075 #endif
05076
05077 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
05078 }
05079
05080
05081
05082
05086 template< ss_typename_param_k R
05087 , ss_typename_param_k L
05088 , ss_typename_param_k FD
05089 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14
05090 >
05091 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
05092 {
05093 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05094 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05095 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05096 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05097 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05098 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05099 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05100 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05101 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05102 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05103 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05104 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05105 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05106 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05107 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05108 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05109 #endif
05110
05111 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
05112 }
05113
05114
05115
05116
05120 template< ss_typename_param_k R
05121 , ss_typename_param_k L
05122 , ss_typename_param_k FD
05123 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15
05124 >
05125 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
05126 {
05127 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05128 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05129 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05130 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05131 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05132 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05133 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05134 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05135 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05136 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05137 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05138 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05139 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05140 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05141 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05142 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05143 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05144 #endif
05145
05146 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
05147 }
05148
05149
05150
05151
05155 template< ss_typename_param_k R
05156 , ss_typename_param_k L
05157 , ss_typename_param_k FD
05158 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16
05159 >
05160 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16)
05161 {
05162 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05163 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05164 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05165 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05166 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05167 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05168 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05169 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05170 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05171 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05172 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05173 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05174 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05175 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05176 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05177 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05178 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05179 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05180 #endif
05181
05182 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
05183 }
05184
05185
05186
05187
05191 template< ss_typename_param_k R
05192 , ss_typename_param_k L
05193 , ss_typename_param_k FD
05194 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17
05195 >
05196 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17)
05197 {
05198 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05199 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05200 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05201 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05202 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05203 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05204 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05205 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05206 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05207 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05208 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05209 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05210 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05211 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05212 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05213 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05214 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05215 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05216 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05217 #endif
05218
05219 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
05220 }
05221
05222
05223
05224
05228 template< ss_typename_param_k R
05229 , ss_typename_param_k L
05230 , ss_typename_param_k FD
05231 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18
05232 >
05233 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18)
05234 {
05235 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05236 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05237 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05238 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05239 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05240 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05241 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05242 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05243 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05244 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05245 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05246 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05247 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05248 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05249 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05250 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05251 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05252 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05253 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05254 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05255 #endif
05256
05257 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
05258 }
05259
05260
05261
05262
05266 template< ss_typename_param_k R
05267 , ss_typename_param_k L
05268 , ss_typename_param_k FD
05269 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19
05270 >
05271 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19)
05272 {
05273 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05274 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05275 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05276 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05277 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05278 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05279 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05280 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05281 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05282 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05283 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05284 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05285 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05286 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05287 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05288 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05289 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05290 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05291 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05292 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05293 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05294 #endif
05295
05296 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
05297 }
05298
05299
05300
05301
05305 template< ss_typename_param_k R
05306 , ss_typename_param_k L
05307 , ss_typename_param_k FD
05308 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20
05309 >
05310 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20)
05311 {
05312 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05313 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05314 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05315 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05316 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05317 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05318 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05319 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05320 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05321 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05322 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05323 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05324 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05325 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05326 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05327 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05328 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05329 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05330 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05331 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05332 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05333 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05334 #endif
05335
05336 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
05337 }
05338
05339
05340
05341
05345 template< ss_typename_param_k R
05346 , ss_typename_param_k L
05347 , ss_typename_param_k FD
05348 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21
05349 >
05350 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21)
05351 {
05352 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05353 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05354 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05355 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05356 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05357 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05358 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05359 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05360 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05361 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05362 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05363 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05364 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05365 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05366 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05367 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05368 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05369 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05370 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05371 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05372 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05373 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05374 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05375 #endif
05376
05377 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
05378 }
05379
05380
05381
05382
05386 template< ss_typename_param_k R
05387 , ss_typename_param_k L
05388 , ss_typename_param_k FD
05389 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22
05390 >
05391 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22)
05392 {
05393 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05394 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05395 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05396 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05397 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05398 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05399 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05400 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05401 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05402 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05403 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05404 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05405 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05406 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05407 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05408 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05409 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05410 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05411 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05412 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05413 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05414 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05415 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05416 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05417 #endif
05418
05419 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
05420 }
05421
05422
05423
05424
05428 template< ss_typename_param_k R
05429 , ss_typename_param_k L
05430 , ss_typename_param_k FD
05431 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23
05432 >
05433 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23)
05434 {
05435 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05436 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05437 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05438 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05439 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05440 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05441 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05442 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05443 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05444 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05445 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05446 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05447 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05448 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05449 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05450 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05451 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05452 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05453 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05454 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05455 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05456 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05457 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05458 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05459 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05460 #endif
05461
05462 return dl_call_MOD<R>(test_library_(library), library, fd, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
05463 }
05464
05465
05466
05467
05471 template< ss_typename_param_k R
05472 , ss_typename_param_k L
05473 , ss_typename_param_k FD
05474 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24
05475 >
05476 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24)
05477 {
05478 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05479 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05480 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05481 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05482 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05483 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05484 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05485 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05486 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05487 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05488 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05489 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05490 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05491 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05492 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05493 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05494 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05495 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05496 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05497 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05498 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05499 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05500 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05501 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05502 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05503 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05504 #endif
05505
05506 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05507 }
05508
05509
05510
05511
05515 template< ss_typename_param_k R
05516 , ss_typename_param_k L
05517 , ss_typename_param_k FD
05518 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25
05519 >
05520 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25)
05521 {
05522 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05523 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05524 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05525 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05526 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05527 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05528 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05529 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05530 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05531 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05532 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05533 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05534 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05535 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05536 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05537 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05538 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05539 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05540 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05541 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05542 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05543 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05544 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05545 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05546 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05547 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05548 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05549 #endif
05550
05551 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05552 }
05553
05554
05555
05556
05560 template< ss_typename_param_k R
05561 , ss_typename_param_k L
05562 , ss_typename_param_k FD
05563 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26
05564 >
05565 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26)
05566 {
05567 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05568 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05569 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05570 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05571 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05572 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05573 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05574 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05575 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05576 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05577 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05578 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05579 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05580 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05581 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05582 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05583 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05584 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05585 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05586 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05587 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05588 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05589 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05590 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05591 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05592 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05593 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05594 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05595 #endif
05596
05597 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05598 }
05599
05600
05601
05602
05606 template< ss_typename_param_k R
05607 , ss_typename_param_k L
05608 , ss_typename_param_k FD
05609 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27
05610 >
05611 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27)
05612 {
05613 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05614 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05615 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05616 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05617 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05618 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05619 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05620 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05621 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05622 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05623 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05624 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05625 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05626 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05627 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05628 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05629 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05630 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05631 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05632 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05633 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05634 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05635 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05636 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05637 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05638 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05639 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05640 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05641 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A27>::value || stlsoft::is_pointer_type<A27>::value || stlsoft::is_function_pointer_type<A27>::value || winstl::is_valid_dl_call_arg<A27>::value);
05642 #endif
05643
05644 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05645 }
05646
05647
05648
05649
05653 template< ss_typename_param_k R
05654 , ss_typename_param_k L
05655 , ss_typename_param_k FD
05656 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28
05657 >
05658 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28)
05659 {
05660 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05661 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05662 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05663 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05664 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05665 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05666 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05667 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05668 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05669 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05670 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05671 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05672 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05673 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05674 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05675 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05676 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05677 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05678 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05679 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05680 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05681 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05682 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05683 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05684 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05685 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05686 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05687 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05688 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A27>::value || stlsoft::is_pointer_type<A27>::value || stlsoft::is_function_pointer_type<A27>::value || winstl::is_valid_dl_call_arg<A27>::value);
05689 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A28>::value || stlsoft::is_pointer_type<A28>::value || stlsoft::is_function_pointer_type<A28>::value || winstl::is_valid_dl_call_arg<A28>::value);
05690 #endif
05691
05692 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05693 }
05694
05695
05696
05697
05701 template< ss_typename_param_k R
05702 , ss_typename_param_k L
05703 , ss_typename_param_k FD
05704 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29
05705 >
05706 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29)
05707 {
05708 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05709 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05710 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05711 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05712 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05713 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05714 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05715 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05716 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05717 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05718 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05719 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05720 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05721 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05722 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05723 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05724 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05725 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05726 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05727 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05728 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05729 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05730 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05731 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05732 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05733 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05734 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05735 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05736 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A27>::value || stlsoft::is_pointer_type<A27>::value || stlsoft::is_function_pointer_type<A27>::value || winstl::is_valid_dl_call_arg<A27>::value);
05737 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A28>::value || stlsoft::is_pointer_type<A28>::value || stlsoft::is_function_pointer_type<A28>::value || winstl::is_valid_dl_call_arg<A28>::value);
05738 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A29>::value || stlsoft::is_pointer_type<A29>::value || stlsoft::is_function_pointer_type<A29>::value || winstl::is_valid_dl_call_arg<A29>::value);
05739 #endif
05740
05741 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05742 }
05743
05744
05745
05746
05750 template< ss_typename_param_k R
05751 , ss_typename_param_k L
05752 , ss_typename_param_k FD
05753 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30
05754 >
05755 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30)
05756 {
05757 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05758 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05759 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05760 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05761 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05762 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05763 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05764 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05765 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05766 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05767 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05768 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05769 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05770 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05771 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05772 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05773 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05774 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05775 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05776 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05777 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05778 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05779 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05780 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05781 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05782 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05783 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05784 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05785 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A27>::value || stlsoft::is_pointer_type<A27>::value || stlsoft::is_function_pointer_type<A27>::value || winstl::is_valid_dl_call_arg<A27>::value);
05786 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A28>::value || stlsoft::is_pointer_type<A28>::value || stlsoft::is_function_pointer_type<A28>::value || winstl::is_valid_dl_call_arg<A28>::value);
05787 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A29>::value || stlsoft::is_pointer_type<A29>::value || stlsoft::is_function_pointer_type<A29>::value || winstl::is_valid_dl_call_arg<A29>::value);
05788 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A30>::value || stlsoft::is_pointer_type<A30>::value || stlsoft::is_function_pointer_type<A30>::value || winstl::is_valid_dl_call_arg<A30>::value);
05789 #endif
05790
05791 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05792 }
05793
05794
05795
05796
05800 template< ss_typename_param_k R
05801 , ss_typename_param_k L
05802 , ss_typename_param_k FD
05803 , ss_typename_param_k A0, ss_typename_param_k A1, ss_typename_param_k A2, ss_typename_param_k A3, ss_typename_param_k A4, ss_typename_param_k A5, ss_typename_param_k A6, ss_typename_param_k A7, ss_typename_param_k A8, ss_typename_param_k A9, ss_typename_param_k A10, ss_typename_param_k A11, ss_typename_param_k A12, ss_typename_param_k A13, ss_typename_param_k A14, ss_typename_param_k A15, ss_typename_param_k A16, ss_typename_param_k A17, ss_typename_param_k A18, ss_typename_param_k A19, ss_typename_param_k A20, ss_typename_param_k A21, ss_typename_param_k A22, ss_typename_param_k A23, ss_typename_param_k A24, ss_typename_param_k A25, ss_typename_param_k A26, ss_typename_param_k A27, ss_typename_param_k A28, ss_typename_param_k A29, ss_typename_param_k A30, ss_typename_param_k A31
05804 >
05805 inline R dl_call(L const& library, FD const& fd, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19, A20 a20, A21 a21, A22 a22, A23 a23, A24 a24, A25 a25, A26 a26, A27 a27, A28 a28, A29 a29, A30 a30, A31 a31)
05806 {
05807 #ifndef WINSTL_DL_CALL_NO_ARG_TYPE_CHECK
05808 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A0>::value || stlsoft::is_pointer_type<A0>::value || stlsoft::is_function_pointer_type<A0>::value || winstl::is_valid_dl_call_arg<A0>::value);
05809 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A1>::value || stlsoft::is_pointer_type<A1>::value || stlsoft::is_function_pointer_type<A1>::value || winstl::is_valid_dl_call_arg<A1>::value);
05810 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A2>::value || stlsoft::is_pointer_type<A2>::value || stlsoft::is_function_pointer_type<A2>::value || winstl::is_valid_dl_call_arg<A2>::value);
05811 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A3>::value || stlsoft::is_pointer_type<A3>::value || stlsoft::is_function_pointer_type<A3>::value || winstl::is_valid_dl_call_arg<A3>::value);
05812 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A4>::value || stlsoft::is_pointer_type<A4>::value || stlsoft::is_function_pointer_type<A4>::value || winstl::is_valid_dl_call_arg<A4>::value);
05813 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A5>::value || stlsoft::is_pointer_type<A5>::value || stlsoft::is_function_pointer_type<A5>::value || winstl::is_valid_dl_call_arg<A5>::value);
05814 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A6>::value || stlsoft::is_pointer_type<A6>::value || stlsoft::is_function_pointer_type<A6>::value || winstl::is_valid_dl_call_arg<A6>::value);
05815 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A7>::value || stlsoft::is_pointer_type<A7>::value || stlsoft::is_function_pointer_type<A7>::value || winstl::is_valid_dl_call_arg<A7>::value);
05816 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A8>::value || stlsoft::is_pointer_type<A8>::value || stlsoft::is_function_pointer_type<A8>::value || winstl::is_valid_dl_call_arg<A8>::value);
05817 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A9>::value || stlsoft::is_pointer_type<A9>::value || stlsoft::is_function_pointer_type<A9>::value || winstl::is_valid_dl_call_arg<A9>::value);
05818 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A10>::value || stlsoft::is_pointer_type<A10>::value || stlsoft::is_function_pointer_type<A10>::value || winstl::is_valid_dl_call_arg<A10>::value);
05819 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A11>::value || stlsoft::is_pointer_type<A11>::value || stlsoft::is_function_pointer_type<A11>::value || winstl::is_valid_dl_call_arg<A11>::value);
05820 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A12>::value || stlsoft::is_pointer_type<A12>::value || stlsoft::is_function_pointer_type<A12>::value || winstl::is_valid_dl_call_arg<A12>::value);
05821 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A13>::value || stlsoft::is_pointer_type<A13>::value || stlsoft::is_function_pointer_type<A13>::value || winstl::is_valid_dl_call_arg<A13>::value);
05822 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A14>::value || stlsoft::is_pointer_type<A14>::value || stlsoft::is_function_pointer_type<A14>::value || winstl::is_valid_dl_call_arg<A14>::value);
05823 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A15>::value || stlsoft::is_pointer_type<A15>::value || stlsoft::is_function_pointer_type<A15>::value || winstl::is_valid_dl_call_arg<A15>::value);
05824 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A16>::value || stlsoft::is_pointer_type<A16>::value || stlsoft::is_function_pointer_type<A16>::value || winstl::is_valid_dl_call_arg<A16>::value);
05825 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A17>::value || stlsoft::is_pointer_type<A17>::value || stlsoft::is_function_pointer_type<A17>::value || winstl::is_valid_dl_call_arg<A17>::value);
05826 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A18>::value || stlsoft::is_pointer_type<A18>::value || stlsoft::is_function_pointer_type<A18>::value || winstl::is_valid_dl_call_arg<A18>::value);
05827 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A19>::value || stlsoft::is_pointer_type<A19>::value || stlsoft::is_function_pointer_type<A19>::value || winstl::is_valid_dl_call_arg<A19>::value);
05828 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A20>::value || stlsoft::is_pointer_type<A20>::value || stlsoft::is_function_pointer_type<A20>::value || winstl::is_valid_dl_call_arg<A20>::value);
05829 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A21>::value || stlsoft::is_pointer_type<A21>::value || stlsoft::is_function_pointer_type<A21>::value || winstl::is_valid_dl_call_arg<A21>::value);
05830 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A22>::value || stlsoft::is_pointer_type<A22>::value || stlsoft::is_function_pointer_type<A22>::value || winstl::is_valid_dl_call_arg<A22>::value);
05831 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A23>::value || stlsoft::is_pointer_type<A23>::value || stlsoft::is_function_pointer_type<A23>::value || winstl::is_valid_dl_call_arg<A23>::value);
05832 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A24>::value || stlsoft::is_pointer_type<A24>::value || stlsoft::is_function_pointer_type<A24>::value || winstl::is_valid_dl_call_arg<A24>::value);
05833 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A25>::value || stlsoft::is_pointer_type<A25>::value || stlsoft::is_function_pointer_type<A25>::value || winstl::is_valid_dl_call_arg<A25>::value);
05834 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A26>::value || stlsoft::is_pointer_type<A26>::value || stlsoft::is_function_pointer_type<A26>::value || winstl::is_valid_dl_call_arg<A26>::value);
05835 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A27>::value || stlsoft::is_pointer_type<A27>::value || stlsoft::is_function_pointer_type<A27>::value || winstl::is_valid_dl_call_arg<A27>::value);
05836 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A28>::value || stlsoft::is_pointer_type<A28>::value || stlsoft::is_function_pointer_type<A28>::value || winstl::is_valid_dl_call_arg<A28>::value);
05837 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A29>::value || stlsoft::is_pointer_type<A29>::value || stlsoft::is_function_pointer_type<A29>::value || winstl::is_valid_dl_call_arg<A29>::value);
05838 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A30>::value || stlsoft::is_pointer_type<A30>::value || stlsoft::is_function_pointer_type<A30>::value || winstl::is_valid_dl_call_arg<A30>::value);
05839 STLSOFT_STATIC_ASSERT(stlsoft::is_fundamental_type<A31>::value || stlsoft::is_pointer_type<A31>::value || stlsoft::is_function_pointer_type<A31>::value || winstl::is_valid_dl_call_arg<A31>::value);
05840 #endif
05841
05842 return dl_call_MOD<R>(test_library_(library), library, fd, 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);
05843 }
05844
05845
05846
05848
05850
05851
05852 #ifdef STLSOFT_UNITTEST
05853 # include "./unittest/dl_call_unittest_.h"
05854 #endif
05855
05856
05857
05858 #ifndef _WINSTL_NO_NAMESPACE
05859 # if defined(_STLSOFT_NO_NAMESPACE) || \
05860 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
05861 }
05862 # else
05863 }
05864 }
05865 # endif
05866 #endif
05867
05868
05869
05870 #endif
05871
05872