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
00043 #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL
00044 #define PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL
00045
00046
00047 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00048 # define PLATFORMSTL_VER_PLATFORMSTL_H_PLATFORMSTL_MAJOR 1
00049 # define PLATFORMSTL_VER_PLATFORMSTL_H_PLATFORMSTL_MINOR 13
00050 # define PLATFORMSTL_VER_PLATFORMSTL_H_PLATFORMSTL_REVISION 2
00051 # define PLATFORMSTL_VER_PLATFORMSTL_H_PLATFORMSTL_EDIT 39
00052 #endif
00053
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
00093
00094
00111 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00112 # define _PLATFORMSTL_VER_1_0_1 0x00010001
00113 # define _PLATFORMSTL_VER_1_1_1 0x00010101
00114 # define _PLATFORMSTL_VER_1_1_2 0x00010102
00115 # define _PLATFORMSTL_VER_1_2_1 0x00010201
00116 # define _PLATFORMSTL_VER_1_3_1 0x00010301
00117 # define _PLATFORMSTL_VER_1_4_1 0x00010401
00118 # define _PLATFORMSTL_VER_1_4_2 0x00010402
00119 # define _PLATFORMSTL_VER_1_5_1 0x00010501
00120 # define _PLATFORMSTL_VER_1_6_1 0x00010601
00121 # define _PLATFORMSTL_VER_1_6_2 0x00010602
00122 # define _PLATFORMSTL_VER_1_7_1 0x00010701
00123 # define _PLATFORMSTL_VER_1_7_2 0x010702ff
00124 # define _PLATFORMSTL_VER_1_8_1 0x010801ff
00125 # define _PLATFORMSTL_VER_1_8_2 0x010802ff
00126 #endif
00127
00128 #define _PLATFORMSTL_VER_MAJOR 1
00129 #define _PLATFORMSTL_VER_MINOR 8
00130 #define _PLATFORMSTL_VER_REVISION 2
00131 #define _PLATFORMSTL_VER _PLATFORMSTL_VER_1_8_2
00132
00133
00134
00135
00136
00137 #ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT
00138 # include <stlsoft/stlsoft.h>
00139 #endif
00140
00141
00142
00143
00144
00145 #if _STLSOFT_VER < 0x01095bff
00146 # error This version of the PlatformSTL libraries requires STLSoft version 1.9.91, or later. (www.stlsoft.org)
00147 #endif
00148
00149
00150
00151
00152
00153 #if defined(unix) || \
00154 defined(UNIX) || \
00155 defined(__unix__) || \
00156 defined(__unix)
00157 # define PLATFORMSTL_OS_IS_UNIX
00158 #elif defined(WIN64) || \
00159 defined(_WIN64) || \
00160 defined(__WIN64__)
00161 # define PLATFORMSTL_OS_IS_WIN64
00162 #elif defined(WIN32) || \
00163 defined(_WIN32) || \
00164 defined(__WIN32__)
00165 # define PLATFORMSTL_OS_IS_WIN32
00166 #else
00167 # error Operating system not discriminated. Only UNIX, Win32 and Win64 are currently recognised by PlatformSTL
00168 #endif
00169
00170 #if defined(PLATFORMSTL_OS_IS_WIN32) || \
00171 defined(PLATFORMSTL_OS_IS_WIN64)
00172 # define PLATFORMSTL_OS_IS_WINDOWS
00173 #endif
00174
00175
00176
00177
00178
00179 #if defined(PLATFORMSTL_OS_IS_UNIX)
00180 # include <unixstl/unixstl.h>
00181 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00182 # include <winstl/winstl.h>
00183 #else
00184 # error Operating system not discriminated. Only UNIX and Windows are currently recognised by PlatformSTL
00185 #endif
00186
00187
00188
00189
00190
00191 #ifdef PLATFORMSTL_ARCH_IS_X86
00192 # undef PLATFORMSTL_ARCH_IS_X86
00193 #endif
00194 #ifdef PLATFORMSTL_ARCH_IS_IA64
00195 # undef PLATFORMSTL_ARCH_IS_IA64
00196 #endif
00197 #ifdef PLATFORMSTL_ARCH_IS_X64
00198 # undef PLATFORMSTL_ARCH_IS_X64
00199 #endif
00200
00201 #ifdef PLATFORMSTL_ARCH_IS_INTEL
00202 # undef PLATFORMSTL_ARCH_IS_INTEL
00203 #endif
00204 #ifdef PLATFORMSTL_ARCH_IS_POWERPC
00205 # undef PLATFORMSTL_ARCH_IS_POWERPC
00206 #endif
00207 #ifdef PLATFORMSTL_ARCH_IS_ALPHA
00208 # undef PLATFORMSTL_ARCH_IS_ALPHA
00209 #endif
00210 #ifdef PLATFORMSTL_ARCH_IS_HPPA
00211 # undef PLATFORMSTL_ARCH_IS_HPPA
00212 #endif
00213 #ifdef PLATFORMSTL_ARCH_IS_SPARC
00214 # undef PLATFORMSTL_ARCH_IS_SPARC
00215 #endif
00216 #ifdef PLATFORMSTL_ARCH_IS_UNKNOWN
00217 # undef PLATFORMSTL_ARCH_IS_UNKNOWN
00218 #endif
00219
00220
00221 #if defined(PLATFORMSTL_OS_IS_UNIX)
00222 # ifdef UNIXSTL_ARCH_IS_X86
00223 # define PLATFORMSTL_ARCH_IS_X86
00224 # endif
00225 # ifdef UNIXSTL_ARCH_IS_IA64
00226 # define PLATFORMSTL_ARCH_IS_IA64
00227 # endif
00228 # ifdef UNIXSTL_ARCH_IS_X64
00229 # define PLATFORMSTL_ARCH_IS_X64
00230 # endif
00231 # ifdef UNIXSTL_ARCH_IS_INTEL
00232 # define PLATFORMSTL_ARCH_IS_INTEL
00233 # endif
00234 # ifdef UNIXSTL_ARCH_IS_POWERPC
00235 # define PLATFORMSTL_ARCH_IS_POWERPC
00236 # endif
00237 # ifdef UNIXSTL_ARCH_IS_ALPHA
00238 # define PLATFORMSTL_ARCH_IS_ALPHA
00239 # endif
00240 # ifdef UNIXSTL_ARCH_IS_HPPA
00241 # define PLATFORMSTL_ARCH_IS_HPPA
00242 # endif
00243 # ifdef UNIXSTL_ARCH_IS_SPARC
00244 # define PLATFORMSTL_ARCH_IS_SPARC
00245 # endif
00246 # ifdef UNIXSTL_ARCH_IS_UNKNOWN
00247 # define PLATFORMSTL_ARCH_IS_UNKNOWN
00248 # endif
00249 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00250 # ifdef WINSTL_ARCH_IS_X86
00251 # define PLATFORMSTL_ARCH_IS_X86
00252 # endif
00253 # ifdef WINSTL_ARCH_IS_IA64
00254 # define PLATFORMSTL_ARCH_IS_IA64
00255 # endif
00256 # ifdef WINSTL_ARCH_IS_X64
00257 # define PLATFORMSTL_ARCH_IS_X64
00258 # endif
00259 #else
00260 #endif
00261
00262
00263
00264
00265
00266
00267
00277 #ifndef PLATFORMSTL_ASSERT
00278 # define PLATFORMSTL_ASSERT(expr) STLSOFT_ASSERT(expr)
00279 #endif
00280
00286 #define PLATFORMSTL_MESSAGE_ASSERT(msg, expr) STLSOFT_MESSAGE_ASSERT(msg, expr)
00287
00296 #define PLATFORMSTL_STATIC_ASSERT(expr) STLSOFT_STATIC_ASSERT(expr)
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309 #if defined(__cplusplus)
00310 # if defined(_STLSOFT_NO_NAMESPACES)
00311 # error PlatformSTL may not be compiled when _STLSOFT_NO_NAMESPACES is defined. Note: it _can_ be compiled in the presence of _STLSOFT_NO_NAMESPACE, or _UNIXSTL_NO_NAMESPACE, or _WINSTL_NO_NAMESPACE
00312 # endif
00313
00314 # if defined(_PLATFORMSTL_NO_NAMESPACES)
00315 # error Use of namespaces in PlatformSTL may not be suspended; _PLATFORMSTL_NO_NAMESPACES was detected
00316 # endif
00317
00318 # if defined(_PLATFORMSTL_NO_NAMESPACE)
00319 # error Use of namespaces in PlatformSTL may not be suspended; _PLATFORMSTL_NO_NAMESPACE was detected
00320 # endif
00321 #endif
00322
00323 #if !defined(__cplusplus)
00324
00325 #elif defined(_STLSOFT_NO_NAMESPACE) || \
00326 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00327
00358 namespace platformstl
00359 {
00360 #else
00361
00362
00363 namespace stlsoft
00364 {
00365
00366 namespace platformstl_project
00367 {
00368 #endif
00369
00378 #ifndef _STLSOFT_NO_NAMESPACE
00379 # define platformstl_ns_qual(x) ::platformstl::x
00380 # define platformstl_ns_using(x) using ::platformstl::x;
00381 #else
00382 # define platformstl_ns_qual(x) x
00383 # define platformstl_ns_using(x)
00384 #endif
00385
00394 #ifdef STLSOFT_CF_std_NAMESPACE
00395 # define platformstl_ns_qual_std(x) ::std::x
00396 # define platformstl_ns_using_std(x) using ::std::x;
00397 #else
00398 # define platformstl_ns_qual_std(x) x
00399 # define platformstl_ns_using_std(x)
00400 #endif
00401
00402
00403
00404 #if !defined(STLSOFT_DOCUMENTATION_SKIP_SECTION) && \
00405 defined(__cplusplus)
00406
00407 # if defined(PLATFORMSTL_OS_IS_UNIX)
00408 typedef unixstl_ns_qual(us_char_a_t) char_a_t;
00409 typedef unixstl_ns_qual(us_char_w_t) char_w_t;
00410 typedef unixstl_ns_qual(us_sint8_t) sint8_t;
00411 typedef unixstl_ns_qual(us_uint8_t) uint8_t;
00412 typedef unixstl_ns_qual(us_int16_t) int16_t;
00413 typedef unixstl_ns_qual(us_sint16_t) sint16_t;
00414 typedef unixstl_ns_qual(us_uint16_t) uint16_t;
00415 typedef unixstl_ns_qual(us_int32_t) int32_t;
00416 typedef unixstl_ns_qual(us_sint32_t) sint32_t;
00417 typedef unixstl_ns_qual(us_uint32_t) uint32_t;
00418 # ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00419 typedef unixstl_ns_qual(us_int64_t) int64_t;
00420 typedef unixstl_ns_qual(us_sint64_t) sint64_t;
00421 typedef unixstl_ns_qual(us_uint64_t) uint64_t;
00422 # endif
00423 typedef unixstl_ns_qual(us_int_t) int_t;
00424 typedef unixstl_ns_qual(us_sint_t) sint_t;
00425 typedef unixstl_ns_qual(us_uint_t) uint_t;
00426 typedef unixstl_ns_qual(us_long_t) long_t;
00427 #ifdef __cplusplus
00428 typedef unixstl_ns_qual(us_bool_t) bool_t;
00429 #endif
00430 typedef unixstl_ns_qual(us_streampos_t) streampos_t;
00431 typedef unixstl_ns_qual(us_streamoff_t) streamoff_t;
00432 # elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00433 typedef winstl_ns_qual(ws_char_a_t) char_a_t;
00434 typedef winstl_ns_qual(ws_char_w_t) char_w_t;
00435 typedef winstl_ns_qual(ws_sint8_t) sint8_t;
00436 typedef winstl_ns_qual(ws_uint8_t) uint8_t;
00437 typedef winstl_ns_qual(ws_int16_t) int16_t;
00438 typedef winstl_ns_qual(ws_sint16_t) sint16_t;
00439 typedef winstl_ns_qual(ws_uint16_t) uint16_t;
00440 typedef winstl_ns_qual(ws_int32_t) int32_t;
00441 typedef winstl_ns_qual(ws_sint32_t) sint32_t;
00442 typedef winstl_ns_qual(ws_uint32_t) uint32_t;
00443 # ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00444 typedef winstl_ns_qual(ws_int64_t) int64_t;
00445 typedef winstl_ns_qual(ws_sint64_t) sint64_t;
00446 typedef winstl_ns_qual(ws_uint64_t) uint64_t;
00447 # endif
00448 typedef winstl_ns_qual(ws_int_t) int_t;
00449 typedef winstl_ns_qual(ws_sint_t) sint_t;
00450 typedef winstl_ns_qual(ws_uint_t) uint_t;
00451 typedef winstl_ns_qual(ws_long_t) long_t;
00452 #ifdef __cplusplus
00453 typedef winstl_ns_qual(ws_bool_t) bool_t;
00454 #endif
00455 typedef winstl_ns_qual(ws_streampos_t) streampos_t;
00456 typedef winstl_ns_qual(ws_streamoff_t) streamoff_t;
00457 # else
00458 # error Operating system not discriminated. Only UNIX and Win32 are currently recognised by PlatformSTL
00459 # endif
00460
00461 #endif
00462
00463
00464
00465 #if !defined(__cplusplus)
00466
00467 #elif defined(_STLSOFT_NO_NAMESPACE) || \
00468 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00469 }
00470 #else
00471 }
00472 }
00473 namespace platformstl = ::stlsoft::platformstl_project;
00474 #endif
00475
00476
00477
00478
00479
00480 #ifdef STLSOFT_CF_PRAGMA_ONCE_SUPPORT
00481 # pragma once
00482 #endif
00483
00484
00485
00486 #endif
00487
00488