00001
00002
00003
00004 # ifndef _STLP_NO_OWN_IOSTREAMS
00005 # define _STLP_NO_OWN_IOSTREAMS
00006 # endif
00007
00008 # define _STLP_NO_RELOPS_NAMESPACE
00009 # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
00010
00011 # define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
00012 # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
00013 # define _STLP_USE_OLD_HP_ITERATOR_QUERIES
00014
00015
00016
00017 # ifndef __QNX__
00018 # define _STLP_NATIVE_INCLUDE_PATH ../h
00019 # endif
00020
00021
00022
00023
00024
00025 #if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK)
00026
00027 long __stl_InterlockedIncrement( long *var );
00028 long __stl_InterlockedDecrement( long *var );
00029
00030 #ifdef _STL_MULTIPROCESSOR
00031
00032 #pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
00033 ".586" \
00034 "mov eax, 1" \
00035 "lock xadd [ecx], eax" \
00036 "inc eax" \
00037 value [eax];
00038
00039
00040 #pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
00041 ".586" \
00042 "mov eax, 0FFFFFFFFh" \
00043 "lock xadd [ecx], eax" \
00044 "dec eax" \
00045 value [eax];
00046 #else
00047
00048 #pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
00049 ".586" \
00050 "mov eax, 1" \
00051 "xadd [ecx], eax" \
00052 "inc eax" \
00053 value [eax];
00054
00055 #pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
00056 ".586" \
00057 "mov eax, 0FFFFFFFFh" \
00058 "xadd [ecx], eax" \
00059 "dec eax" \
00060 value [eax];
00061 #endif // _STL_MULTIPROCESSOR
00062
00063 long __stl_InterlockedExchange( long *Destination, long Value );
00064
00065
00066 #pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \
00067 ".586" \
00068 "xchg eax, [ecx]" \
00069 value [eax];
00070 #else
00071
00072 #define __stl_InterlockedIncrement InterlockedIncrement
00073 #define __stl_InterlockedDecrement InterlockedDecrement
00074 #define __stl_InterlockedExchange InterlockedExchange
00075 #endif
00076
00077 #define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x)
00078 #define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x)
00079 #define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y)
00080
00081
00082 # ifdef __QNX__
00083 # define _STLP_NO_TYPEINFO 1
00084 # endif
00085
00086 # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
00087 # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
00088 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
00089 # define _STLP_NO_MEMBER_TEMPLATES 1
00090 # define _STLP_NO_FRIEND_TEMPLATES 1
00091 # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
00092
00093
00094 # define _STLP_LIMITED_DEFAULT_TEMPLATES 1
00095 # define _STLP_HAS_NO_NAMESPACES 1
00096 # define _STLP_NEED_TYPENAME 1
00097
00098 # if __WATCOMC__ < 1100
00099 # define _STLP_NO_WCHAR_T 1
00100 # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
00101 # endif
00102
00103 # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
00104
00105 # define _STLP_STATIC_CONST_INIT_BUG 1
00106
00107 # define _STLP_NO_TEMPLATE_CONVERSIONS 1
00108
00109 # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
00110
00111 # define _STLP_HAS_NO_NEW_IOSTREAMS 1
00112 # define _STLP_HAS_NO_NEW_C_HEADERS 1
00113 # define _STLP_NO_NEW_NEW_HEADER 1
00114 # define _STLP_VENDOR_GLOBAL_STD
00115
00116 # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
00117 # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
00118 # define _STLP_NONTEMPL_BASE_MATCH_BUG
00119 # define _STLP_NO_EXCEPTION_HEADER 1
00120 # define _STLP_NO_BAD_ALLOC 1
00121
00122 # define _STLP_NESTED_TYPE_PARAM_BUG 1
00123
00124 # define _STLP_NO_CSTD_FUNCTION_IMPORTS 1
00125
00126 # if (__WATCOM_CPLUSPLUS__ < 1100 )
00127 # define _STLP_NO_BOOL 1
00128 # define _STLP_NEED_EXPLICIT 1
00129 # define _STLP_NEED_MUTABLE 1
00130 # define _STLP_NO_ARROW_OPERATOR 1
00131 # endif
00132
00133 # define _STLP_NO_NEW_STYLE_CASTS 1
00134
00135
00136 #undef min
00137 #undef max
00138
00139
00140
00141 #if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST))
00142 # define _STLP_HAS_NO_EXCEPTIONS 1
00143 # endif
00144
00145 # if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT)
00146 # define _REENTRANT 1
00147 # endif
00148
00149
00150
00151
00152