00001 /* ///////////////////////////////////////////////////////////////////////// 00002 * File: stlsoft/internal/_undefs.h 00003 * 00004 * Purpose: The #undefs for stlsoft/stlsoft.h. 00005 * 00006 * Created: 1st December 2003 00007 * Updated: 10th August 2009 00008 * 00009 * Home: http://stlsoft.org/ 00010 * 00011 * Copyright (c) 2003-2009, Matthew Wilson and Synesis Software 00012 * All rights reserved. 00013 * 00014 * Redistribution and use in source and binary forms, with or without 00015 * modification, are permitted provided that the following conditions are met: 00016 * 00017 * - Redistributions of source code must retain the above copyright notice, this 00018 * list of conditions and the following disclaimer. 00019 * - Redistributions in binary form must reproduce the above copyright notice, 00020 * this list of conditions and the following disclaimer in the documentation 00021 * and/or other materials provided with the distribution. 00022 * - Neither the name(s) of Matthew Wilson and Synesis Software nor the names of 00023 * any contributors may be used to endorse or promote products derived from 00024 * this software without specific prior written permission. 00025 * 00026 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00027 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00029 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00030 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00031 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00032 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00033 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00034 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00035 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00036 * POSSIBILITY OF SUCH DAMAGE. 00037 * 00038 * ////////////////////////////////////////////////////////////////////// */ 00039 00040 00041 #ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT 00042 # error This file must not be included independently of stlsoft/stlsoft.h 00043 #endif /* !STLSOFT_INCL_STLSOFT_H_STLSOFT */ 00044 00051 #ifdef STLSOFT_INCL_H_STLSOFT__UNDEFS 00052 # error This file cannot be included more than once in any compilation unit 00053 #endif /* STLSOFT_INCL_H_STLSOFT__UNDEFS */ 00054 00055 /* ////////////////////////////////////////////////////////////////////// */ 00056 00057 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION 00058 # define STLSOFT_VER_H_STLSOFT__UNDEFS_MAJOR 2 00059 # define STLSOFT_VER_H_STLSOFT__UNDEFS_MINOR 8 00060 # define STLSOFT_VER_H_STLSOFT__UNDEFS_REVISION 1 00061 # define STLSOFT_VER_H_STLSOFT__UNDEFS_EDIT 27 00062 #endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */ 00063 00064 /* ///////////////////////////////////////////////////////////////////////// 00065 * Auto-generation and compatibility 00066 */ 00067 00068 /* 00069 [<[STLSOFT-AUTO:NO-UNITTEST]>] 00070 [<[STLSOFT-AUTO:NO-DOCFILELABEL]>] 00071 */ 00072 00073 /* ///////////////////////////////////////////////////////////////////////// 00074 * #undefs 00075 */ 00076 00077 /* Messaging 00078 * 00079 * Discriminated symbol is STLSOFT_CF_PRAGMA_MESSAGE_SUPPORT 00080 */ 00081 00082 #ifdef STLSOFT_CF_PRAGMA_MESSAGE_SUPPORT 00083 # define STLSOFT_CF_PRAGMA_MESSAGE_SUPPORT 00084 #endif /* STLSOFT_CF_PRAGMA_MESSAGE_SUPPORT */ 00085 00086 /* Template support. 00087 * 00088 * Discriminated symbol is STLSOFT_CF_TEMPLATE_SUPPORT 00089 */ 00090 00091 #ifdef STLSOFT_CF_TEMPLATE_SUPPORT 00092 # undef STLSOFT_CF_TEMPLATE_SUPPORT 00093 #endif /* STLSOFT_CF_TEMPLATE_SUPPORT */ 00094 00095 /* Variadic Macros 00096 * 00097 * Discriminated symbol is STLSOFT_CF_SUPPORTS_VARIADIC_MACROS 00098 */ 00099 00100 #ifdef STLSOFT_CF_SUPPORTS_VARIADIC_MACROS 00101 # define STLSOFT_CF_SUPPORTS_VARIADIC_MACROS 00102 #endif /* STLSOFT_CF_SUPPORTS_VARIADIC_MACROS */ 00103 00104 /* Exception signature support. 00105 * 00106 * Discriminated symbol is STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT 00107 */ 00108 #ifdef STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT 00109 # undef STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT 00110 #endif /* STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT */ 00111 00112 /* Native bool support. 00113 * 00114 * Discriminated symbol is STLSOFT_CF_NATIVE_BOOL_SUPPORT 00115 */ 00116 #ifdef STLSOFT_CF_NATIVE_BOOL_SUPPORT 00117 # undef STLSOFT_CF_NATIVE_BOOL_SUPPORT 00118 #endif /* STLSOFT_CF_NATIVE_BOOL_SUPPORT */ 00119 00120 /* Native / typedef'd wchar_t support. 00121 * 00122 * Discriminated symbols are STLSOFT_CF_NATIVE_WCHAR_T_SUPPORT 00123 * STLSOFT_CF_TYPEDEF_WCHAR_T_SUPPORT 00124 * 00125 * Implementation symbol is STLSOFT_NATIVE_WCHAR_T 00126 */ 00127 #ifdef STLSOFT_CF_NATIVE_WCHAR_T_SUPPORT 00128 # undef STLSOFT_CF_NATIVE_WCHAR_T_SUPPORT 00129 #endif /* STLSOFT_CF_NATIVE_WCHAR_T_SUPPORT */ 00130 00131 #ifdef STLSOFT_CF_TYPEDEF_WCHAR_T_SUPPORT 00132 # undef STLSOFT_CF_TYPEDEF_WCHAR_T_SUPPORT 00133 #endif /* STLSOFT_CF_TYPEDEF_WCHAR_T_SUPPORT */ 00134 00135 #ifdef STLSOFT_NATIVE_WCHAR_T 00136 # undef STLSOFT_NATIVE_WCHAR_T 00137 #endif /* STLSOFT_NATIVE_WCHAR_T */ 00138 00139 /* 8-bit, 16-bit, 32-bit, 64-bit type support 00140 */ 00141 00142 #ifdef STLSOFT_CF_8BIT_INT_SUPPORT 00143 # undef STLSOFT_CF_8BIT_INT_SUPPORT 00144 #endif /* STLSOFT_CF_8BIT_INT_SUPPORT */ 00145 00146 #ifdef STLSOFT_SI08_T_BASE_TYPE 00147 # undef STLSOFT_SI08_T_BASE_TYPE 00148 #endif /* STLSOFT_SI08_T_BASE_TYPE */ 00149 #ifdef STLSOFT_UI08_T_BASE_TYPE 00150 # undef STLSOFT_UI08_T_BASE_TYPE 00151 #endif /* STLSOFT_UI08_T_BASE_TYPE */ 00152 00153 #ifdef STLSOFT_CF_16BIT_INT_SUPPORT 00154 # undef STLSOFT_CF_16BIT_INT_SUPPORT 00155 #endif /* STLSOFT_CF_16BIT_INT_SUPPORT */ 00156 00157 #ifdef STLSOFT_SI16_T_BASE_TYPE 00158 # undef STLSOFT_SI16_T_BASE_TYPE 00159 #endif /* STLSOFT_SI16_T_BASE_TYPE */ 00160 #ifdef STLSOFT_UI16_T_BASE_TYPE 00161 # undef STLSOFT_UI16_T_BASE_TYPE 00162 #endif /* STLSOFT_UI16_T_BASE_TYPE */ 00163 00164 #ifdef STLSOFT_CF_32BIT_INT_SUPPORT 00165 # undef STLSOFT_CF_32BIT_INT_SUPPORT 00166 #endif /* STLSOFT_CF_32BIT_INT_SUPPORT */ 00167 00168 #ifdef STLSOFT_SI32_T_BASE_TYPE 00169 # undef STLSOFT_SI32_T_BASE_TYPE 00170 #endif /* STLSOFT_SI32_T_BASE_TYPE */ 00171 #ifdef STLSOFT_UI32_T_BASE_TYPE 00172 # undef STLSOFT_UI32_T_BASE_TYPE 00173 #endif /* STLSOFT_UI32_T_BASE_TYPE */ 00174 00175 #ifdef STLSOFT_CF_64BIT_INT_SUPPORT 00176 # undef STLSOFT_CF_64BIT_INT_SUPPORT 00177 #endif /* STLSOFT_CF_64BIT_INT_SUPPORT */ 00178 00179 #ifdef STLSOFT_SI64_T_BASE_TYPE 00180 # undef STLSOFT_SI64_T_BASE_TYPE 00181 #endif /* STLSOFT_SI64_T_BASE_TYPE */ 00182 #ifdef STLSOFT_UI64_T_BASE_TYPE 00183 # undef STLSOFT_UI64_T_BASE_TYPE 00184 #endif /* STLSOFT_UI64_T_BASE_TYPE */ 00185 00186 /* Distinct type support 00187 * 00188 */ 00189 00190 #ifdef STLSOFT_CF_INT_DISTINCT_INT_TYPE 00191 # undef STLSOFT_CF_INT_DISTINCT_INT_TYPE 00192 #endif /* STLSOFT_CF_INT_DISTINCT_INT_TYPE */ 00193 00194 #ifdef STLSOFT_CF_LONG_DISTINCT_INT_TYPE 00195 # undef STLSOFT_CF_LONG_DISTINCT_INT_TYPE 00196 #endif /* STLSOFT_CF_LONG_DISTINCT_INT_TYPE */ 00197 00198 /* #ifdef STLSOFT_CF_NATIVE_INT_8_ */ 00199 00200 /* Compiler supports member constants. 00201 * 00202 * Discriminated symbol is STLSOFT_CF_MEMBER_CONSTANT_SUPPORT 00203 */ 00204 #ifdef STLSOFT_CF_MEMBER_CONSTANT_SUPPORT 00205 # undef STLSOFT_CF_MEMBER_CONSTANT_SUPPORT 00206 #endif /* STLSOFT_CF_MEMBER_CONSTANT_SUPPORT */ 00207 00208 /* Compiler supports static assert. 00209 * 00210 * Discriminated symbol is STLSOFT_CF_STATIC_ASSERT_SUPPORT 00211 */ 00212 #ifdef STLSOFT_CF_STATIC_ASSERT_SUPPORT 00213 # undef STLSOFT_CF_STATIC_ASSERT_SUPPORT 00214 #endif /* STLSOFT_CF_STATIC_ASSERT_SUPPORT */ 00215 00216 /* Function signature requires full-qualification. 00217 * 00218 * Discriminated symbol is STLSOFT_CF_FUNCTION_SIGNATURE_FULL_ARG_QUALIFICATION_REQUIRED 00219 */ 00220 #ifdef STLSOFT_CF_FUNCTION_SIGNATURE_FULL_ARG_QUALIFICATION_REQUIRED 00221 # undef STLSOFT_CF_FUNCTION_SIGNATURE_FULL_ARG_QUALIFICATION_REQUIRED 00222 #endif /* STLSOFT_CF_FUNCTION_SIGNATURE_FULL_ARG_QUALIFICATION_REQUIRED */ 00223 00224 /* RTTI support. 00225 * 00226 * Discriminated symbol is STLSOFT_CF_RTTI_SUPPORT 00227 */ 00228 #ifdef STLSOFT_CF_RTTI_SUPPORT 00229 # undef STLSOFT_CF_RTTI_SUPPORT 00230 #endif /* STLSOFT_CF_RTTI_SUPPORT */ 00231 00232 /* Exception support. 00233 * 00234 * Discriminated symbol is STLSOFT_CF_EXCEPTION_SUPPORT 00235 */ 00236 #ifdef STLSOFT_CF_EXCEPTION_SUPPORT 00237 # undef STLSOFT_CF_EXCEPTION_SUPPORT 00238 #endif /* STLSOFT_CF_EXCEPTION_SUPPORT */ 00239 00240 /* Template class default fundamental type argument support 00241 * 00242 * Discriminated symbol is STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_FUNDAMENTAL_ARGUMENT_SUPPORT 00243 * 00244 * Microsoft Visual C++ 4.2 does not support template default fundamental type arguments. 00245 */ 00246 #ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_FUNDAMENTAL_ARGUMENT_SUPPORT 00247 # undef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_FUNDAMENTAL_ARGUMENT_SUPPORT 00248 #endif /* STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_FUNDAMENTAL_ARGUMENT_SUPPORT */ 00249 00250 /* Template class default class type argument support 00251 * 00252 * Discriminated symbol is STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT 00253 * 00254 * Microsoft Visual C++ 4.2 does not support template default class type arguments. 00255 */ 00256 #ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT 00257 # undef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT 00258 #endif /* STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT */ 00259 00260 /* Member functions can appear as template parameters 00261 * 00262 * Discriminated symbol is STLSOFT_CF_MEM_FUNC_AS_TEMPLATE_PARAM_SUPPORT 00263 */ 00264 #ifdef STLSOFT_CF_MEM_FUNC_AS_TEMPLATE_PARAM_SUPPORT 00265 # undef STLSOFT_CF_MEM_FUNC_AS_TEMPLATE_PARAM_SUPPORT 00266 #endif /* STLSOFT_CF_MEM_FUNC_AS_TEMPLATE_PARAM_SUPPORT */ 00267 00268 /* Member function template support. 00269 * 00270 * Discriminated symbol is STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT 00271 */ 00272 #ifdef STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT 00273 # undef STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT 00274 #endif // STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT 00275 00276 /* Member constructor template support. 00277 * 00278 * Discriminated symbol is STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT 00279 */ 00280 #ifdef STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT 00281 # undef STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT 00282 #endif // STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT 00283 00284 /* Member template range method support. 00285 * 00286 * Discriminated symbol is STLSOFT_CF_MEMBER_TEMPLATE_RANGE_METHOD_SUPPORT 00287 */ 00288 #ifdef STLSOFT_CF_MEMBER_TEMPLATE_RANGE_METHOD_SUPPORT 00289 # undef STLSOFT_CF_MEMBER_TEMPLATE_RANGE_METHOD_SUPPORT 00290 #endif // STLSOFT_CF_MEMBER_TEMPLATE_RANGE_METHOD_SUPPORT 00291 00292 /* Member template class support. 00293 * 00294 * Discriminated symbol is STLSOFT_CF_MEMBER_TEMPLATE_CLASS_SUPPORT 00295 */ 00296 #ifdef STLSOFT_CF_MEMBER_TEMPLATE_CLASS_SUPPORT 00297 # undef STLSOFT_CF_MEMBER_TEMPLATE_CLASS_SUPPORT 00298 #endif // STLSOFT_CF_MEMBER_TEMPLATE_CLASS_SUPPORT 00299 00300 /* Template specialisation syntax support 00301 * 00302 * Discriminated symbol is STLSOFT_CF_TEMPLATE_SPECIALISATION_SYNTAX 00303 */ 00304 #ifdef STLSOFT_CF_TEMPLATE_SPECIALISATION_SYNTAX 00305 # undef STLSOFT_CF_TEMPLATE_SPECIALISATION_SYNTAX 00306 #endif /* STLSOFT_CF_TEMPLATE_SPECIALISATION_SYNTAX */ 00307 00308 /* Template partial specialisation support. 00309 * 00310 * Discriminated symbol is STLSOFT_CF_TEMPLATE_PARTIAL_SPECIALISATION_SUPPORT 00311 */ 00312 #ifdef STLSOFT_CF_TEMPLATE_PARTIAL_SPECIALISATION_SUPPORT 00313 # undef STLSOFT_CF_TEMPLATE_PARTIAL_SPECIALISATION_SUPPORT 00314 #endif // STLSOFT_CF_TEMPLATE_PARTIAL_SPECIALISATION_SUPPORT 00315 00316 /* Template out-of-class function specialisation support. 00317 * 00318 * Discriminated symbol is STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT 00319 */ 00320 #ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT 00321 # undef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT 00322 #endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */ 00323 00324 /* Standard library STL elements in std namespace. 00325 * 00326 * Discriminated symbol is STLSOFT_CF_std_NAMESPACE 00327 */ 00328 #ifdef STLSOFT_CF_std_NAMESPACE 00329 # undef STLSOFT_CF_std_NAMESPACE 00330 #endif /* STLSOFT_CF_std_NAMESPACE */ 00331 00332 /* std::char_traits available. 00333 * 00334 * Discriminated symbol is STLSOFT_CF_std_char_traits_AVAILABLE 00335 */ 00336 #ifdef STLSOFT_CF_std_char_traits_AVAILABLE 00337 # undef STLSOFT_CF_std_char_traits_AVAILABLE 00338 #endif /* STLSOFT_CF_std_char_traits_AVAILABLE */ 00339 00340 /* explicit keyword support 00341 * 00342 * Discriminated symbol is STLSOFT_CF_EXPLICIT_KEYWORD_SUPPORT 00343 */ 00344 #ifdef STLSOFT_CF_EXPLICIT_KEYWORD_SUPPORT 00345 # undef STLSOFT_CF_EXPLICIT_KEYWORD_SUPPORT 00346 #endif /* STLSOFT_CF_EXPLICIT_KEYWORD_SUPPORT */ 00347 00348 /* mutable keyword support 00349 * 00350 * Discriminated symbol is STLSOFT_CF_MUTABLE_KEYWORD_SUPPORT 00351 */ 00352 #ifdef STLSOFT_CF_MUTABLE_KEYWORD_SUPPORT 00353 # undef STLSOFT_CF_MUTABLE_KEYWORD_SUPPORT 00354 #endif /* STLSOFT_CF_MUTABLE_KEYWORD_SUPPORT */ 00355 00356 /* typename keyword support 00357 * 00358 * Discriminated symbols are STLSOFT_CF_TYPENAME_PARAM_KEYWORD_SUPPORT, 00359 * STLSOFT_CF_TYPENAME_TYPE_KEYWORD_SUPPORT, 00360 * STLSOFT_CF_TYPENAME_TYPE_DEF_KEYWORD_SUPPORT 00361 * STLSOFT_CF_TYPENAME_TYPE_MIL_KEYWORD_SUPPORT and 00362 * STLSOFT_CF_TYPENAME_TYPE_RET_KEYWORD_SUPPORT 00363 * 00364 * The typename keyword is actually used for two distinct purposes: the 00365 * generic type placeholder in template parameter specifications, and the 00366 * stipulation to compilers that a particular template derived construct 00367 * is a type, rather than a member or operation. 00368 * 00369 * These two uses have varying support on different compilers, hence the 00370 * STLSoft libraries utilise the ss_typename_param_k pseudo keyword for the 00371 * first purpose, and the ss_typename_type_k pseudo keyword for the second. 00372 * 00373 * In addition, some compilers cannot handle the use of typename as a type 00374 * qualifier in a template default parameter, so we further define the keyword 00375 * ss_typename_type_def_k. And some cannot handle it in a constructor 00376 * initialiser list, for which ss_typename_type_mil_k is defined. 00377 */ 00378 #ifdef STLSOFT_CF_TYPENAME_PARAM_KEYWORD_SUPPORT 00379 # undef STLSOFT_CF_TYPENAME_PARAM_KEYWORD_SUPPORT 00380 #endif /* STLSOFT_CF_TYPENAME_PARAM_KEYWORD_SUPPORT */ 00381 00382 #ifdef STLSOFT_CF_TYPENAME_TYPE_KEYWORD_SUPPORT 00383 # undef STLSOFT_CF_TYPENAME_TYPE_KEYWORD_SUPPORT 00384 #endif /* STLSOFT_CF_TYPENAME_TYPE_KEYWORD_SUPPORT */ 00385 00386 #ifdef STLSOFT_CF_TYPENAME_TYPE_DEF_KEYWORD_SUPPORT 00387 # undef STLSOFT_CF_TYPENAME_TYPE_DEF_KEYWORD_SUPPORT 00388 #endif /* STLSOFT_CF_TYPENAME_TYPE_DEF_KEYWORD_SUPPORT */ 00389 00390 #ifdef STLSOFT_CF_TYPENAME_TYPE_MIL_KEYWORD_SUPPORT 00391 # undef STLSOFT_CF_TYPENAME_TYPE_MIL_KEYWORD_SUPPORT 00392 #endif /* STLSOFT_CF_TYPENAME_TYPE_MIL_KEYWORD_SUPPORT */ 00393 00394 #ifdef STLSOFT_CF_TYPENAME_TYPE_RET_KEYWORD_SUPPORT 00395 # undef STLSOFT_CF_TYPENAME_TYPE_RET_KEYWORD_SUPPORT 00396 #endif /* STLSOFT_CF_TYPENAME_TYPE_RET_KEYWORD_SUPPORT */ 00397 00398 /* Move constructor support 00399 * 00400 * Discriminated symbol is STLSOFT_CF_MOVE_CONSTRUCTOR_SUPPORT 00401 */ 00402 #ifdef STLSOFT_CF_MOVE_CONSTRUCTOR_SUPPORT 00403 # undef STLSOFT_CF_MOVE_CONSTRUCTOR_SUPPORT 00404 #endif /* STLSOFT_CF_MOVE_CONSTRUCTOR_SUPPORT */ 00405 00406 /* Koening Lookup support 00407 * 00408 * Discriminated symbol is STLSOFT_CF_ADL_LOOKUP_SUPPORT 00409 */ 00410 #ifdef STLSOFT_CF_ADL_LOOKUP_SUPPORT 00411 # undef STLSOFT_CF_ADL_LOOKUP_SUPPORT 00412 #endif /* STLSOFT_CF_ADL_LOOKUP_SUPPORT */ 00413 00414 /* Template template support 00415 * 00416 * Discriminated symbol is STLSOFT_CF_TEMPLATE_TEMPLATE_SUPPORT 00417 */ 00418 #ifdef STLSOFT_CF_TEMPLATE_TEMPLATE_SUPPORT 00419 # undef STLSOFT_CF_TEMPLATE_TEMPLATE_SUPPORT 00420 #endif /* STLSOFT_CF_TEMPLATE_TEMPLATE_SUPPORT */ 00421 00422 00423 #ifdef STLSOFT_CF_STATIC_ARRAY_SIZE_DETERMINATION_SUPPORT 00424 # undef STLSOFT_CF_STATIC_ARRAY_SIZE_DETERMINATION_SUPPORT 00425 #endif /* STLSOFT_CF_STATIC_ARRAY_SIZE_DETERMINATION_SUPPORT */ 00426 00427 #ifdef STLSOFT_CF_VENEER_SUPPORT 00428 # undef STLSOFT_CF_VENEER_SUPPORT 00429 #endif /* STLSOFT_CF_VENEER_SUPPORT */ 00430 00431 #ifdef STLSOFT_CF_TEMPLATE_SHIMS_NOT_SUPPORTED 00432 # undef STLSOFT_CF_TEMPLATE_SHIMS_NOT_SUPPORTED 00433 #endif /* STLSOFT_CF_TEMPLATE_SHIMS_NOT_SUPPORTED */ 00434 00435 #ifdef STLSOFT_CF_NEGATIVE_MODULUS_POSITIVE_GIVES_NEGATIVE_RESULT 00436 # undef STLSOFT_CF_NEGATIVE_MODULUS_POSITIVE_GIVES_NEGATIVE_RESULT 00437 #endif /* STLSOFT_CF_NEGATIVE_MODULUS_POSITIVE_GIVES_NEGATIVE_RESULT */ 00438 00439 #ifdef STLSOFT_CF_OPERATOR_BOOL_AS_OPERATOR_POINTER_TO_MEMBER_SUPPORT 00440 # undef STLSOFT_CF_OPERATOR_BOOL_AS_OPERATOR_POINTER_TO_MEMBER_SUPPORT 00441 #endif /* STLSOFT_CF_OPERATOR_BOOL_AS_OPERATOR_POINTER_TO_MEMBER_SUPPORT */ 00442 00443 #ifdef STLSOFT_CF_OPERATOR_NOT_VIA_OPERATOR_POINTER_TO_MEMBER_SUPPORT 00444 # undef STLSOFT_CF_OPERATOR_NOT_VIA_OPERATOR_POINTER_TO_MEMBER_SUPPORT 00445 #endif /* STLSOFT_CF_OPERATOR_NOT_VIA_OPERATOR_POINTER_TO_MEMBER_SUPPORT */ 00446 00447 #ifdef STLSOFT_CF_FASTCALL_SUPPORTED 00448 # undef STLSOFT_CF_FASTCALL_SUPPORTED 00449 #endif /* STLSOFT_CF_FASTCALL_SUPPORTED */ 00450 00451 #ifdef STLSOFT_CF_STDCALL_SUPPORTED 00452 # undef STLSOFT_CF_STDCALL_SUPPORTED 00453 #endif /* STLSOFT_CF_STDCALL_SUPPORTED */ 00454 00455 #ifdef STSLSOFT_INLINE_ASM_SUPPORTED 00456 # undef STSLSOFT_INLINE_ASM_SUPPORTED 00457 #endif /* STSLSOFT_INLINE_ASM_SUPPORTED */ 00458 00459 #ifdef STSLSOFT_ASM_IN_INLINE_SUPPORTED 00460 # undef STSLSOFT_ASM_IN_INLINE_SUPPORTED 00461 #endif /* STSLSOFT_ASM_IN_INLINE_SUPPORTED */ 00462 00463 /* ///////////////////////////// end of file //////////////////////////// */