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
00041
00042 #ifndef WINSTL_INCL_WINSTL_H_WINSTL
00043 #define WINSTL_INCL_WINSTL_H_WINSTL
00044 #define WINSTL_INCL_H_WINSTL
00046
00047 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00048 # define WINSTL_VER_WINSTL_H_WINSTL_MAJOR 3
00049 # define WINSTL_VER_WINSTL_H_WINSTL_MINOR 11
00050 # define WINSTL_VER_WINSTL_H_WINSTL_REVISION 1
00051 # define WINSTL_VER_WINSTL_H_WINSTL_EDIT 180
00052 #endif
00053
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00109 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00110 # define _WINSTL_VER_1_0_1 0x00010001
00111 # define _WINSTL_VER_1_0_2 0x00010002
00112 # define _WINSTL_VER_1_1_1 0x00010101
00113 # define _WINSTL_VER_1_2_1 0x00010201
00114 # define _WINSTL_VER_1_3_1 0x00010301
00115 # define _WINSTL_VER_1_3_2 0x00010302
00116 # define _WINSTL_VER_1_3_3 0x00010303
00117 # define _WINSTL_VER_1_3_4 0x00010304
00118 # define _WINSTL_VER_1_3_5 0x00010305
00119 # define _WINSTL_VER_1_3_6 0x00010306
00120 # define _WINSTL_VER_1_3_7 0x00010307
00121 # define _WINSTL_VER_1_4_1 0x00010401
00122 # define _WINSTL_VER_1_5_1 0x00010501
00123 # define _WINSTL_VER_1_5_2 0x00010502
00124 # define _WINSTL_VER_1_6_1 0x00010601
00125 # define _WINSTL_VER_1_6_2 0x00010602
00126 # define _WINSTL_VER_1_6_3 0x00010603
00127 # define _WINSTL_VER_1_6_4 0x00010604
00128 # define _WINSTL_VER_1_6_5 0x00010605
00129 # define _WINSTL_VER_1_7_1 0x00010701
00130 # define _WINSTL_VER_1_8_1 0x00010801
00131 # define _WINSTL_VER_1_8_2 0x00010802
00132 # define _WINSTL_VER_1_9_1 0x00010901
00133 # define _WINSTL_VER_1_9_2 0x00010902
00134 # define _WINSTL_VER_1_9_3 0x00010903
00135 # define _WINSTL_VER_1_9_4 0x010904ff
00136 # define _WINSTL_VER_1_9_5 0x010905ff
00137 # define _WINSTL_VER_1_9_6 0x010906ff
00138 # define _WINSTL_VER_1_10_1 0x010a01ff
00139 # define _WINSTL_VER_1_10_2 0x010a02ff
00140 # define _WINSTL_VER_1_10_3 0x010a03ff
00141 # define _WINSTL_VER_1_10_4 0x010a04ff
00142 # define _WINSTL_VER_1_10_5 0x010a05ff
00143 # define _WINSTL_VER_1_10_6 0x010a06ff
00144 # define _WINSTL_VER_1_10_7 0x010a07ff
00145 # define _WINSTL_VER_1_11_1 0x010b01ff
00146 #endif
00147
00148 #define _WINSTL_VER_MAJOR 1
00149 #define _WINSTL_VER_MINOR 11
00150 #define _WINSTL_VER_REVISION 1
00151 #define _WINSTL_VER _WINSTL_VER_1_11_1
00152
00153
00154
00155
00156
00157
00158 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00159 # ifndef STRICT
00160 # if defined(_WINSTL_STRICT) || \
00161 ( !defined(_WINSTL_NO_STRICT) && \
00162 !defined(NO_STRICT))
00163 # define STRICT 1
00164 # endif
00165 # endif
00166 #endif
00167
00168 #ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT
00169 # include <stlsoft/stlsoft.h>
00170 #endif
00171 #if defined(STLSOFT_COMPILER_IS_MSVC) && \
00172 _MSC_VER == 1100
00173 # include <wtypes.h>
00174 #endif
00175
00176 #if defined(STLSOFT_COMPILER_IS_GCC) && \
00177 defined(_WIN32) && \
00178 ( defined(WIN32) || \
00179 defined(WIN64))
00180
00181 # ifndef STLSOFT_INCL_H_BASETYPS
00182 # define STLSOFT_INCL_H_BASETYPS
00183 # include <basetyps.h>
00184 # endif
00185 # ifndef STLSOFT_INCL_H_WTYPES
00186 # define STLSOFT_INCL_H_WTYPES
00187 # include <wtypes.h>
00188 # endif
00189 # ifndef STLSOFT_INCL_H_OLEAUTO
00190 # define STLSOFT_INCL_H_OLEAUTO
00191 # include <oleauto.h>
00192 # endif
00193 # ifndef STLSOFT_INCL_H_OAIDL
00194 # define STLSOFT_INCL_H_OAIDL
00195 # include <oaidl.h>
00196 # endif
00197 #endif
00198
00199 #ifndef STLSOFT_INCL_H_WINDOWS
00200 # define STLSOFT_INCL_H_WINDOWS
00201 # include <windows.h>
00202 #endif
00203
00204
00205 #if defined(STLSOFT_COMPILER_IS_INTEL) && \
00206 defined(__cplusplus)
00207 # ifndef STLSOFT_INCL_STLSOFT_CONVERSION_HPP_UNION_CAST
00208 # include <stlsoft/conversion/union_cast.hpp>
00209 # endif
00210 #endif
00211
00212 #ifndef STLSOFT_INCL_H_STDLIB
00213 # define STLSOFT_INCL_H_STDLIB
00214 # include <stdlib.h>
00215 #endif
00216
00217
00218
00219
00220
00221 #if !defined(_STLSOFT_VER) || \
00222 _STLSOFT_VER < 0x01095dff
00223 # error This version of the WinSTL libraries requires STLSoft version 1.9.93, or later
00224 #endif
00225
00226
00227
00228
00229
00230 #ifdef WINSTL_OS_IS_WIN32
00231 # undef WINSTL_OS_IS_WIN32
00232 #endif
00233
00234 #ifdef WINSTL_OS_IS_WIN64
00235 # undef WINSTL_OS_IS_WIN64
00236 #endif
00237
00238 #if defined(WIN64)
00239 # define WINSTL_OS_IS_WIN64
00240 #elif defined(WIN32)
00241 # define WINSTL_OS_IS_WIN32
00242 #else
00243 # error WinSTL is only compatible with Win32 and Win64
00244 #endif
00245
00246
00247
00248
00249
00250 #ifdef WINSTL_ARCH_IS_X86
00251 # undef WINSTL_ARCH_IS_X86
00252 #endif
00253
00254 #ifdef WINSTL_ARCH_IS_IA64
00255 # undef WINSTL_ARCH_IS_IA64
00256 #endif
00257
00258 #ifdef WINSTL_ARCH_IS_X64
00259 # undef WINSTL_ARCH_IS_X64
00260 #endif
00261
00262 #if defined(_M_IA64)
00263 # define WINSTL_ARCH_IS_IA64
00264 #elif defined(_M_X64) || \
00265 defined(_M_AMD64)
00266 # define WINSTL_ARCH_IS_X64
00267 #elif defined(_M_IX86)
00268 # define WINSTL_ARCH_IS_X86
00269 #else
00270 # error WinSTL is only compatible with x86, IA64 and x64 architectures
00271 #endif
00272
00273
00274
00275
00276
00277 #ifdef __cplusplus
00278 # undef INVALID_HANDLE_VALUE
00279
00283 # if defined(STLSOFT_COMPILER_IS_INTEL)
00284 # define INVALID_HANDLE_VALUE stlsoft_ns_qual(union_cast)<HANDLE>(-1)
00285 # else
00286 # define INVALID_HANDLE_VALUE reinterpret_cast<HANDLE>(-1)
00287 # endif
00288
00293 # undef MAKEINTRESOURCEA
00294 # if defined(_WIN64) || \
00295 defined(_Wp64)
00296 # define MAKEINTRESOURCEA(i) reinterpret_cast<LPSTR>(static_cast<ULONG_PTR>(static_cast<WORD>(i)))
00297 # else
00298 # define MAKEINTRESOURCEA(i) reinterpret_cast<LPSTR>(static_cast<ULONG>(static_cast<WORD>(i)))
00299 # endif
00300
00305 # undef MAKEINTRESOURCEW
00306 # if defined(_WIN64) || \
00307 defined(_Wp64)
00308 # define MAKEINTRESOURCEW(i) reinterpret_cast<LPWSTR>(static_cast<ULONG_PTR>(static_cast<WORD>(i)))
00309 # else
00310 # define MAKEINTRESOURCEW(i) reinterpret_cast<LPWSTR>(static_cast<ULONG>(static_cast<WORD>(i)))
00311 # endif
00312
00317 # undef MAKEINTRESOURCE
00318 # if defined(_WIN64) || \
00319 defined(_Wp64)
00320 # define MAKEINTRESOURCE(i) reinterpret_cast<LPTSTR>(static_cast<ULONG_PTR>(static_cast<WORD>(i)))
00321 # else
00322 # define MAKEINTRESOURCE(i) reinterpret_cast<LPTSTR>(static_cast<ULONG>(static_cast<WORD>(i)))
00323 # endif
00324
00329 # undef MAKELANGID
00330 # define MAKELANGID(p, s) ((static_cast<DWORD>(static_cast<WORD>(s)) << 10) | static_cast<WORD>(p))
00331
00332
00333
00334
00335
00340 # undef INVALID_FILE_SIZE
00341 # define INVALID_FILE_SIZE static_cast<DWORD>(0xFFFFFFFF)
00342
00343 #endif
00344
00345
00346
00347
00348
00349
00350
00351
00352 #if !defined(WIN32) && \
00353 !defined(_WIN32)
00354 # error The WinSTL libraries is currently only compatible with the Win32 API
00355 #endif
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370 #if defined(STLSOFT_COMPILER_IS_BORLAND)
00371
00372 # if __BORLANDC__ < 0x0550
00373 # error Versions of Borland C++ prior to 5.5 are not supported by the WinSTL libraries
00374 # endif
00375
00376 #elif defined(STLSOFT_COMPILER_IS_COMO)
00377
00378 # if __COMO_VERSION__ < 4300
00379 # error Versions of Comeau C++ prior to 4.3 are not supported by the WinSTL libraries
00380 # endif
00381
00382 #elif defined(STLSOFT_COMPILER_IS_DMC)
00383
00384 # if __DMC__ < 0x0826
00385 # error Versions of Digital Mars C/C++ prior to 8.26 are not supported by the WinSTL libraries
00386 # endif
00387
00388 #elif defined(STLSOFT_COMPILER_IS_GCC)
00389
00390 # if __GNUC__ < 3
00391 # error Versions of GNU C/C++ prior to 3.0 are not supported by the WinSTL libraries
00392 # endif
00393
00394 #elif defined(STLSOFT_COMPILER_IS_INTEL)
00395
00396 # if (__INTEL_COMPILER < 600)
00397 # error Versions of Intel C++ prior to 6.0 are not supported by the WinSTL libraries
00398 # endif
00399
00400 #elif defined(STLSOFT_COMPILER_IS_MWERKS)
00401
00402 # if (__MWERKS__ & 0xFF00) < 0x2400
00403 # error Versions of Metrowerks CodeWarrior C++ prior to 7.0 are not supported by the WinSTL libraries
00404 # endif
00405
00406 #elif defined(STLSOFT_COMPILER_IS_MSVC)
00407
00408 # if _MSC_VER < 1020
00409 # error Versions of Visual C++ prior to 4.2 are not supported by the WinSTL libraries
00410 # endif
00411
00412 #elif defined(STLSOFT_COMPILER_IS_VECTORC)
00413
00414
00415 #elif defined(STLSOFT_COMPILER_IS_WATCOM)
00416
00417 # if (__WATCOMC__ < 1200)
00418 # error Versions of Watcom C/C++ prior to 12.0 are not supported by the WinSTL libraries
00419 # endif
00420
00421 #else
00422
00423 # ifdef _STLSOFT_FORCE_ANY_COMPILER
00424 # define _WINSTL_COMPILER_IS_UNKNOWN
00425 # ifdef _STLSOFT_COMPILE_VERBOSE
00426 # pragma message("Compiler is unknown to WinSTL")
00427 # endif
00428 # else
00429 # error Currently only Borland C++, Comeau, Digital Mars C/C++, GNU C++, Intel C/C++, Metrowerks CodeWarrior, Visual C++ and Watcom compilers are supported by the WinSTL libraries
00430 # endif
00431 #endif
00432
00433
00434
00435
00436
00437 #ifdef WINSTL_UDATE_DEFINED
00438 # undef WINSTL_UDATE_DEFINED
00439 #endif
00440
00441 #if defined(WINSTL_FORCE_UDATE) || \
00442 defined(STLSOFT_COMPILER_IS_BORLAND) || \
00443 ( defined(STLSOFT_COMPILER_IS_COMO) && \
00444 defined(_MSC_VER)) || \
00445 defined(STLSOFT_COMPILER_IS_DMC) || \
00446 defined(STLSOFT_COMPILER_IS_INTEL) || \
00447 defined(STLSOFT_COMPILER_IS_MWERKS) || \
00448 defined(STLSOFT_COMPILER_IS_MSVC)
00449 # define WINSTL_UDATE_DEFINED
00450 #endif
00451
00452
00453
00454
00455
00456
00457
00467 #ifndef WINSTL_ASSERT
00468 # define WINSTL_ASSERT(expr) STLSOFT_ASSERT(expr)
00469 #endif
00470
00476 #define WINSTL_MESSAGE_ASSERT(msg, expr) STLSOFT_MESSAGE_ASSERT(msg, expr)
00477
00486 #define WINSTL_STATIC_ASSERT(expr) STLSOFT_STATIC_ASSERT(expr)
00487
00488
00489 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00490 # define winstl_assert(expr) WINSTL_ASSERT(expr)
00491 # define winstl_message_assert(msg, expr) WINSTL_MESSAGE_ASSERT(msg, expr)
00492 # define winstl_static_assert(expr) WINSTL_STATIC_ASSERT(expr)
00493 #endif
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536 #ifdef _STLSOFT_NO_NAMESPACES
00537 # define _WINSTL_NO_NAMESPACES
00538 #endif
00539
00540
00541 #ifdef _WINSTL_NO_NAMESPACES
00542 # define _WINSTL_NO_NAMESPACE
00543 #endif
00544
00545 #ifndef _WINSTL_NO_NAMESPACE
00546 # if defined(_STLSOFT_NO_NAMESPACE) || \
00547 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00548
00579 namespace winstl
00580 {
00581 # else
00582
00583
00584 namespace stlsoft
00585 {
00586
00587 namespace winstl_project
00588 {
00589
00590 # endif
00591 #else
00592 stlsoft_ns_using(move_lhs_from_rhs)
00593 #endif
00594
00635 #ifndef _WINSTL_NO_NAMESPACE
00636 # define winstl_ns_qual(x) ::winstl::x
00637 # define winstl_ns_using(x) using ::winstl::x;
00638 #else
00639 # define winstl_ns_qual(x) x
00640 # define winstl_ns_using(x)
00641 #endif
00642
00653 #ifdef STLSOFT_CF_std_NAMESPACE
00654 # define winstl_ns_qual_std(x) ::std::x
00655 # define winstl_ns_using_std(x) using ::std::x;
00656 #else
00657 # define winstl_ns_qual_std(x) x
00658 # define winstl_ns_using_std(x)
00659 #endif
00660
00661
00662
00663
00664
00674 #if defined(__cplusplus)
00675 # define WINSTL_ITF_CALL(p) (p)
00676 #else
00677 # define WINSTL_ITF_CALL(p) (p)->lpVtbl
00678 #endif
00679
00689 #if defined(__cplusplus)
00690 # define WINSTL_ITF_THIS(p)
00691 #else
00692 # define WINSTL_ITF_THIS(p) (p),
00693 #endif
00694
00704 #if defined(__cplusplus)
00705 # define WINSTL_ITF_THIS0(p)
00706 #else
00707 # define WINSTL_ITF_THIS0(p) (p)
00708 #endif
00709
00719 #if defined(__cplusplus)
00720 # define WINSTL_IID_2_REF(iid) (iid)
00721 #else
00722 # define WINSTL_IID_2_REF(iid) (&(iid))
00723 #endif
00724
00734 #if defined(__cplusplus)
00735 # define WINSTL_REF_2_PTR(iid) (&(iid))
00736 #else
00737 # define WINSTL_REF_2_PTR(iid) (iid)
00738 #endif
00739
00740
00741
00742
00743
00744
00745
00746
00747 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00748
00749 typedef stlsoft_ns_qual(ss_char_a_t) ws_char_a_t;
00750 typedef stlsoft_ns_qual(ss_char_w_t) ws_char_w_t;
00751 typedef stlsoft_ns_qual(ss_sint8_t) ws_sint8_t;
00752 typedef stlsoft_ns_qual(ss_uint8_t) ws_uint8_t;
00753 typedef stlsoft_ns_qual(ss_int16_t) ws_int16_t;
00754 typedef stlsoft_ns_qual(ss_sint16_t) ws_sint16_t;
00755 typedef stlsoft_ns_qual(ss_uint16_t) ws_uint16_t;
00756 typedef stlsoft_ns_qual(ss_int32_t) ws_int32_t;
00757 typedef stlsoft_ns_qual(ss_sint32_t) ws_sint32_t;
00758 typedef stlsoft_ns_qual(ss_uint32_t) ws_uint32_t;
00759 #ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00760 typedef stlsoft_ns_qual(ss_int64_t) ws_int64_t;
00761 typedef stlsoft_ns_qual(ss_sint64_t) ws_sint64_t;
00762 typedef stlsoft_ns_qual(ss_uint64_t) ws_uint64_t;
00763 #endif
00764 typedef stlsoft_ns_qual(ss_int_t) ws_int_t;
00765 typedef stlsoft_ns_qual(ss_sint_t) ws_sint_t;
00766 typedef stlsoft_ns_qual(ss_uint_t) ws_uint_t;
00767 typedef stlsoft_ns_qual(ss_long_t) ws_long_t;
00768 typedef stlsoft_ns_qual(ss_byte_t) ws_byte_t;
00769 #if defined(__cplusplus)
00770 typedef stlsoft_ns_qual(ss_bool_t) ws_bool_t;
00771 #endif
00772 typedef DWORD ws_dword_t;
00773 typedef stlsoft_ns_qual(ss_size_t) ws_size_t;
00774 typedef stlsoft_ns_qual(ss_ptrdiff_t) ws_ptrdiff_t;
00775 typedef stlsoft_ns_qual(ss_streampos_t) ws_streampos_t;
00776 typedef stlsoft_ns_qual(ss_streamoff_t) ws_streamoff_t;
00777 #ifdef WINSTL_OS_IS_WIN64
00778 typedef stlsoft_ns_qual(ss_sint64_t) ws_sptrint_t;
00779 typedef stlsoft_ns_qual(ss_uint64_t) ws_uptrint_t;
00780 #else
00781 typedef stlsoft_ns_qual(ss_sint32_t) ws_sptrint_t;
00782 typedef stlsoft_ns_qual(ss_uint32_t) ws_uptrint_t;
00783 #endif
00784
00785 #endif
00786
00787 #ifndef _WINSTL_NO_NAMESPACE
00788 typedef ws_char_a_t char_a_t;
00789 typedef ws_char_w_t char_w_t;
00790
00791 typedef ws_sint8_t sint8_t;
00792 typedef ws_uint8_t uint8_t;
00793 typedef ws_int16_t int16_t;
00794 typedef ws_sint16_t sint16_t;
00795 typedef ws_uint16_t uint16_t;
00796 typedef ws_int32_t int32_t;
00797 typedef ws_sint32_t sint32_t;
00798 typedef ws_uint32_t uint32_t;
00799 # ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00800 typedef ws_int64_t int64_t;
00801 typedef ws_sint64_t sint64_t;
00802 typedef ws_uint64_t uint64_t;
00803 # endif
00804
00805 typedef ws_int_t int_t;
00806 typedef ws_sint_t sint_t;
00807 typedef ws_uint_t uint_t;
00808 typedef ws_long_t long_t;
00809 typedef ws_byte_t byte_t;
00810 #if defined(__cplusplus)
00811 typedef ws_bool_t bool_t;
00812 #endif
00813 typedef ws_dword_t dword_t;
00814 # if !defined(STLSOFT_COMPILER_IS_DMC)
00815 typedef ws_streampos_t streampos_t;
00816 typedef ws_streamoff_t streamoff_t;
00817 # endif
00818 typedef ws_sptrint_t sptrint_t;
00819 typedef ws_uptrint_t uptrint_t;
00820 #endif
00821
00822
00823
00824
00825
00838 #define WINSTL_CONST_NT_MAX_PATH (4 + 32767)
00839
00843 #if defined(_MAX_PATH)
00844 # define WINSTL_CONST_MAX_PATH _MAX_PATH
00845 #elif defined(__CYGWIN__)
00846 # define WINSTL_CONST_MAX_PATH (260)
00847 #else
00848 # error _MAX_PATH not defined, and not CygWin compiler
00849 #endif
00850
00851 #ifdef __cplusplus
00852
00855 const ws_size_t CONST_NT_MAX_PATH = WINSTL_CONST_NT_MAX_PATH;
00856
00859 const ws_size_t CONST_MAX_PATH = WINSTL_CONST_MAX_PATH;
00860
00861 #endif
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00872
00873 #define ws_true_v ss_true_v
00874 #define ws_false_v ss_false_v
00875
00876 #endif
00877
00878
00879
00880
00881 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00882
00883 # define winstl_throw_0() stlsoft_throw_0()
00884 # define winstl_throw_1(x1) stlsoft_throw_1(x1)
00885 # define winstl_throw_2(x1, x2) stlsoft_throw_2(x1, x2)
00886 # define winstl_throw_3(x1, x2, x3) stlsoft_throw_3(x1, x2, x3)
00887 # define winstl_throw_4(x1, x2, x3, x4) stlsoft_throw_4(x1, x2, x3, x4)
00888 # define winstl_throw_5(x1, x2, x3, x4, x5) stlsoft_throw_5(x1, x2, x3, x4, x5)
00889 # define winstl_throw_6(x1, x2, x3, x4, x5, x6) stlsoft_throw_6(x1, x2, x3, x4, x5, x6)
00890 # define winstl_throw_7(x1, x2, x3, x4, x5, x6, x7) stlsoft_throw_7(x1, x2, x3, x4, x5, x6, x7)
00891 # define winstl_throw_8(x1, x2, x3, x4, x5, x6, x7, x8) stlsoft_throw_8(x1, x2, x3, x4, x5, x6, x7, x8)
00892 #endif
00893
00894 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00895 # define WINSTL_NUM_ELEMENTS(ar) STLSOFT_NUM_ELEMENTS(ar)
00896 # define winstl_num_elements(ar) WINSTL_NUM_ELEMENTS(ar)
00897 #endif
00898
00903 #define winstl_destroy_instance(t, _type, p) STLSOFT_DESTROY_INSTANCE(t, _type, p)
00904
00909 #define winstl_gen_opaque(_htype) STLSOFT_GEN_OPAQUE(_htype)
00910
00911
00912
00913
00914
00915 #ifdef __cplusplus
00916
00935 #ifdef _Wp64
00936 inline bool BOOL2bool(ws_int_t bVal)
00937 #else
00938 inline bool BOOL2bool(BOOL bVal)
00939 #endif
00940 {
00941 return bVal != FALSE;
00942 }
00964 inline BOOL bool2BOOL(bool bVal)
00965 {
00966 return bVal != false;
00967 }
00968 #else
00969 # define BOOL2bool(bVal) stlsoft_static_cast(bool, ((bVal) != FALSE))
00970 # define bool2BOOL(bVal) stlsoft_static_cast(BOOL, ((bVal) != false))
00971 #endif
00972
00973
00974
00975 #ifndef _WINSTL_NO_NAMESPACE
00976 # if defined(_STLSOFT_NO_NAMESPACE) || \
00977 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00978 }
00979 # else
00980 }
00981 }
00982 namespace winstl = ::stlsoft::winstl_project;
00983 # endif
00984 #endif
00985
00986
00987
00988
00989
00990 #ifdef STLSOFT_CF_PRAGMA_ONCE_SUPPORT
00991 # pragma once
00992 #endif
00993
00994
00995
00996 #endif
00997
00998