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