Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenstl_mycomp.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (c) 1997 00003 * Moscow Center for SPARC Technology 00004 * 00005 * Copyright (c) 1999 00006 * Boris Fomitchev 00007 * 00008 * This material is provided "as is", with absolutely no warranty expressed 00009 * or implied. Any use is at your own risk. 00010 * 00011 * Permission to use or copy this software for any purpose is hereby granted 00012 * without fee, provided the above notices are retained on all copies. 00013 * Permission to modify the code and to distribute modified code is granted, 00014 * provided the above notices are retained, and a notice that the code was 00015 * modified is included with the above copyright notice. 00016 * 00017 */ 00018 00019 /* 00020 * Purpose of this file : 00021 * 00022 * A list of COMPILER-SPECIFIC portion of STLport settings. 00023 * This file is provided to help in manual configuration 00024 * of STLport. This file is being included by stlcomp.h 00025 * when STLport is unable to identify your compiler. 00026 * Please remove the error diagnostic below before adjusting 00027 * macros. 00028 * 00029 */ 00030 #ifndef _STLP_MYCOMP_H 00031 #define _STLP_MYCOMP_H 00032 00033 #error "Your compiler version is not recognized by STLport. Please edit <stlport/stl/config/stl_mycomp.h>" 00034 00035 //========================================================== 00036 00037 // the values choosen here as defaults try to give 00038 // maximum functionality on the most conservative settings 00039 00040 // Mostly correct guess, change it for Alpha (and other environments 00041 // that has 64-bit "long") 00042 // # define _STLP_UINT32_T unsigned long 00043 00044 // Disables wchar_t functionality 00045 // # define _STLP_NO_WCHAR_T 1 00046 00047 // Define if wchar_t is not an intrinsic type, and is actually a typedef to unsigned short. 00048 // # define _STLP_WCHAR_T_IS_USHORT 1 00049 00050 // Uncomment if long long is available 00051 // # define _STLP_LONG_LONG long long 00052 00053 // Uncomment if long double is not available 00054 // # define _STLP_NO_LONG_DOUBLE 1 00055 00056 // Uncomment this if your compiler does not support "typename" keyword 00057 // # define _STLP_NEED_TYPENAME 1 00058 00059 // Uncomment this if your compiler does not support "mutable" keyword 00060 // # define _STLP_NEED_MUTABLE 1 00061 00062 // Uncomment this if your compiler does not support "explicit" keyword 00063 // # define _STLP_NEED_EXPLICIT 1 00064 00065 // Uncomment if new-style-casts like const_cast<> are not available 00066 // # define _STLP_NO_NEW_STYLE_CASTS 1 00067 00068 // Uncomment this if your compiler does not have "bool" type 00069 // # define _STLP_NO_BOOL 1 00070 00071 // Uncomment this if your compiler does not have "bool" type, but has "bool" keyword reserved 00072 // # define _STLP_DONT_USE_BOOL_TYPEDEF 1 00073 00074 // Uncomment this if your compiler does not have "bool" type, but defines "bool" in <yvals.h> 00075 // # define _STLP_YVALS_H 1 00076 00077 // Uncomment this if your compiler has limited or no default template arguments for classes 00078 // # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 00079 00080 // Uncomment this if your compiler support only complete (not dependent on other parameters) 00081 // types as default parameters for class templates 00082 // # define _STLP_DEFAULT_TYPE_PARAM 1 00083 00084 // Uncomment this if your compiler do not support default parameters in template class methods 00085 // # define _STLP_DONT_SUP_DFLT_PARAM 1 00086 00087 // Uncomment this if your compiler has problem with not-type 00088 // default template parameters 00089 // # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 00090 00091 // Define if compiler has 00092 // trouble with functions getting non-type-parameterized classes as parameters 00093 // # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 00094 00095 // Uncomment this if your compiler does not support namespaces 00096 // # define _STLP_HAS_NO_NAMESPACES 1 00097 00098 // Uncomment if "using" keyword does not work with template types 00099 // # define _STLP_BROKEN_USING_DIRECTIVE 1 00100 00101 // Uncomment this if your compiler does not support exceptions 00102 // # define _STLP_HAS_NO_EXCEPTIONS 1 00103 00104 // Uncomment this when you are able to detect that the user do not 00105 // want to use the exceptions feature. 00106 // # define _STLP_DONT_USE_EXCEPTIONS 1 00107 00108 // Uncomment this if your compiler does not support exception specifications 00109 // # define _STLP_NO_EXCEPTION_SPEC 00110 00111 // Define this if your compiler requires return statement after throw() 00112 // # define _STLP_THROW_RETURN_BUG 1 00113 00114 // Define this if your compiler do not support return of void 00115 // # define _STLP_DONT_RETURN_VOID 1 00116 00117 // Header <new> that comes with the compiler 00118 // does not define bad_alloc exception 00119 // # define _STLP_NO_BAD_ALLOC 1 00120 00121 // Define this if your compiler do not throw bad_alloc from the new operator 00122 // # define _STLP_NEW_DONT_THROW_BAD_ALLOC 1 00123 00124 // Define this if your compiler has no rtti support or if it has been disabled 00125 // # define _STLP_NO_RTTI 1 00126 00127 // Define this if there is no native type_info definition 00128 // # define _STLP_NO_TYPEINFO 1 00129 00130 // Uncomment if member template methods are not available 00131 // # define _STLP_NO_MEMBER_TEMPLATES 1 00132 00133 // Uncomment if member template classes are not available 00134 // # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 00135 00136 // Uncomment if your compiler do not support the std::allocator rebind technique 00137 // This is a special case of bad member template classes support, it is automatically 00138 // defined if _STLP_NO_MEMBER_TEMPLATE_CLASSES is defined. 00139 // # define _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE 1 00140 00141 // Uncomment if no "template" keyword should be used with member template classes 00142 // # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 00143 00144 // Compiler does not accept friend declaration qualified with namespace name. 00145 // # define _STLP_NO_QUALIFIED_FRIENDS 1 00146 00147 // Uncomment if partial specialization is not available 00148 // # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 00149 00150 // Define if class being partially specialized require full name (template parameters) 00151 // of itself for method declarations 00152 // # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 00153 00154 // Compiler has problem with qualified specializations (cont int, volatile int...) 00155 // # define _STLP_QUALIFIED_SPECIALIZATION_BUG 00156 00157 // Compiler has problems specializing members of partially 00158 // specialized class 00159 // # define _STLP_MEMBER_SPECIALIZATION_BUG 00160 00161 // Uncomment if partial order of template functions is not available 00162 // # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 00163 00164 // Uncomment if specialization of methods is not allowed 00165 // # define _STLP_NO_METHOD_SPECIALIZATION 1 00166 00167 // Uncomment if full specialization does not use partial spec. syntax : template <> struct .... 00168 // # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 00169 00170 // Uncomment if compiler does not support explicit template arguments for functions 00171 // # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 00172 00173 // Uncomment this if your compiler can't inline while(), for() 00174 // # define _STLP_LOOP_INLINE_PROBLEMS 1 00175 00176 // Define if the compiler fails to match a template function argument of base 00177 // # define _STLP_BASE_MATCH_BUG 1 00178 00179 // Define if the compiler fails to match a template function argument of base 00180 // (non-template) 00181 //# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 00182 00183 // Define if the compiler rejects outline method definition 00184 // explicitly taking nested types/typedefs 00185 // # define _STLP_NESTED_TYPE_PARAM_BUG 1 00186 00187 // Compiler requires typename keyword on outline method definition 00188 // explicitly taking nested types/typedefs 00189 // #define _STLP_TYPENAME_ON_RETURN_TYPE 00190 00191 // Define if the baseclass typedefs not visible from outside 00192 // # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 00193 00194 // if your compiler have serious problems with typedefs, try this one 00195 // # define _STLP_BASE_TYPEDEF_BUG 1 00196 00197 // Uncomment if getting errors compiling mem_fun* adaptors 00198 // # define _STLP_MEMBER_POINTER_PARAM_BUG 1 00199 00200 // Uncomment if the compiler can't handle a constant-initializer in the 00201 // declaration of a static const data member of integer type. 00202 // (See section 9.4.2, paragraph 4, of the C++ standard.) 00203 // # define _STLP_STATIC_CONST_INIT_BUG 00204 00205 // Uncomment to indicate that the compiler do not like static constant 00206 // definition. 00207 // Meaningfull only if _STLP_STATIC_CONST_INIT_BUG is not defined. 00208 // # define _STLP_NO_STATIC_CONST_DEFINITION 00209 00210 // Define if default constructor for builtin integer type fails to initialize it to 0 00211 // In expression like new(&char) char(): 00212 //# define _STLP_DEF_CONST_PLCT_NEW_BUG 1 00213 // In default function parameter like _M_method(_Tp __x = _Tp()) 00214 //# define _STLP_DEF_CONST_DEF_PARAM_BUG 1 00215 00216 // Defined if constructor 00217 // required to explicitly call member's default constructors for const objects 00218 // # define _STLP_CONST_CONSTRUCTOR_BUG 1 00219 00220 // Defined if the compiler has trouble calling POD-types constructors/destructors 00221 // # define _STLP_TRIVIAL_CONSTRUCTOR_BUG 1 00222 // # define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 00223 00224 // Define if having problems specializing maps/sets with 00225 // key type being const 00226 // # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 00227 00228 // Uncomment this to disable -> operators on all iterators 00229 // # define _STLP_NO_ARROW_OPERATOR 1 00230 00231 // Uncomment this to disble at() member functions for containers 00232 // # define _STLP_NO_AT_MEMBER_FUNCTION 1 00233 00234 // Define this if compiler lacks <exception> header 00235 // # define _STLP_NO_EXCEPTION_HEADER 1 00236 00237 // Uncomment this if your C library has lrand48() function 00238 // # define _STLP_RAND48 1 00239 00240 // Uncomment if native new-style C library headers lile <cstddef>, etc are not available. 00241 // # define _STLP_HAS_NO_NEW_C_HEADERS 1 00242 00243 // uncomment if new-style headers <new> is available 00244 // # define _STLP_HAS_NEW_NEW_HEADER 1 00245 00246 // uncomment this if <iostream> and other STD headers put their stuff in ::namespace, 00247 // not std:: 00248 // # define _STLP_VENDOR_GLOBAL_STD 00249 00250 // uncomment this if <cstdio> and the like put stuff in ::namespace, 00251 // not std:: 00252 // # define _STLP_VENDOR_GLOBAL_CSTD 00253 00254 // uncomment this if your compiler consider as ambiguous a function imported within 00255 // the stlport namespace and called without scope (:: or std::) 00256 // # define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1 00257 00258 // uncomment this if your compiler define all the C math functions C++ additional 00259 // overloads in ::namespace and not only in std::. 00260 // # define _STLP_HAS_GLOBAL_C_MATH_FUNCTIONS 1 00261 00262 // Edit relative path below (or put full path) to get native 00263 // compiler headers included. Default is "../include". 00264 // C headers may reside in different directory, so separate macro is provided. 00265 // Hint : never install STLport in the directory that ends with "include" 00266 // # define _STLP_NATIVE_INCLUDE_PATH ../include 00267 // # define _STLP_NATIVE_C_INCLUDE_PATH ../include 00268 // # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include 00269 00270 // This macro constructs header path from directory and name. 00271 // You may change it if your compiler does not understand "/". 00272 // # define _STLP_MAKE_HEADER(path, header) <path/header> 00273 00274 // This macro constructs native include header path from include path and name. 00275 // You may have do define it if experimenting problems with preprocessor 00276 // # define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header) 00277 00278 // Same for C headers 00279 // #define _STLP_NATIVE_C_HEADER(header) 00280 00281 //========================================================== 00282 #endif Generated on Sat May 26 2012 04:28:24 for ReactOS by
1.7.6.1
|