stl_epoc.h

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 manulal 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_EPOC_H
00031 #  define  _STLP_EPOC_H
00032 
00033 // NON-STANDARD!!!!
00034 
00035 #if defined(__WINS__)
00036 #  pragma warning ( disable : 4018 4097 4100 4127 4244 4284 4511 4512 4514 4786 4800 ) //4355 4284  4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127 4100 4663)
00037 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
00038 #endif
00039 
00040 #  define _STLP_NO_IOSTREAMS                   1
00041 #  undef  _STLP_OWN_IOSTREAMS
00042 #  define _STLP_NO_NATIVE_MBSTATE_T            1
00043 #  define _NOTHREADS                           1
00044 #  define _STLP_NO_TYPEINFO                    1
00045 
00046 #ifndef __PLACEMENT_NEW_INLINE
00047 #ifndef __E32STD_H__
00048 // WARNING: CHANGE MANUALLY BECAUSE IT DIDN'T COMPILE - MAY HAVE SIDE EFFECTS
00049 //inline void * operator new(unsigned int, void *_P) { return (_P); }
00050 #define __PLACEMENT_NEW_INLINE
00051 #endif // E32STD_H
00052 #endif
00053 
00054 // ADDITIONS FOR IOSTREAM.DLL
00055 #  define _STLP_USE_STDIO_IO 1
00056 
00057 //==========================================================
00058 
00059 // the values choosen here as defaults try to give
00060 // maximum functionality on the most conservative settings
00061 
00062 // Mostly correct guess, change it for Alpha (and other environments
00063 // that has 64-bit "long")
00064 // #  define _STLP_UINT32_T unsigned long
00065 
00066 // Disables wchar_t functinality
00067 #  define _STLP_NO_WCHAR_T  1
00068 
00069 // Define if wchar_t is not a unique type, and is actually a typedef to unsigned short. 
00070 // #  define _STLP_WCHAR_T_IS_USHORT 1
00071 
00072 // Uncomment if long long is available
00073 // #  define _STLP_LONG_LONG long long
00074 
00075 // Uncomment if long double is not available
00076 // #  define _STLP_NO_LONG_DOUBLE 1
00077 
00078 // Uncomment this if your compiler does not support "typename" keyword
00079 // #  define _STLP_NEED_TYPENAME 1
00080 
00081 // Uncomment this if your compiler does not support "mutable" keyword
00082 // #  define _STLP_NEED_MUTABLE 1
00083 
00084 // Uncomment this if your compiler does not support "explicit" keyword
00085 // #  define _STLP_NEED_EXPLICIT 1
00086 
00087 // Uncomment if new-style-casts like const_cast<> are not available
00088 // #  define _STLP_NO_NEW_STYLE_CASTS 1
00089 
00090 // Uncomment this if your compiler does not have "bool" type
00091 // #  define  _STLP_NO_BOOL 1
00092 
00093 // Uncomment this if your compiler does not have "bool" type, but has "bool" keyword reserved
00094 // #  define  _STLP_DONT_USE_BOOL_TYPEDEF 1
00095 
00096 // Uncomment this if your compiler does not have "bool" type, but defines "bool" in <yvals.h>
00097 // #  define  _STLP_YVALS_H 1
00098 
00099 // Uncomment this if your compiler has limited or no default template arguments for classes
00100 // #  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
00101 
00102 // Uncomment this if your compiler support only complete (not dependent on other parameters)
00103 // types as default parameters for class templates
00104 // #  define _STLP_DEFAULT_TYPE_PARAM 1
00105 
00106 // Uncomment this if your compiler has problem with not-type
00107 // default template parameters
00108 // #  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
00109 
00110 // Define if compiler has
00111 // trouble with functions getting non-type-parameterized classes as parameters
00112 // #  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
00113 
00114 // Uncomment this if your compiler lacks static data members.
00115 // Uncomment next line if your compiler supports __attribute__((weak))
00116 // #  define _STLP_NO_STATIC_TEMPLATE_DATA 1
00117 // #  define _STLP_WEAK_ATTRIBUTE 1
00118 
00119 // Uncomment this if your compiler does not support namespaces 
00120 #  define _STLP_HAS_NO_NAMESPACES 1
00121 
00122 // Uncomment if "using" keyword does not work with template types 
00123 // # define _STLP_BROKEN_USING_DIRECTIVE 1
00124 
00125 // Uncomment this if your compiler does not support exceptions
00126 #  define _STLP_HAS_NO_EXCEPTIONS 1
00127 
00128 // Uncomment this if your compiler does not support exception specifications
00129 // #  define _STLP_NO_EXCEPTION_SPEC
00130 
00131 // Define this if your compiler requires return statement after throw()
00132 // # define _STLP_THROW_RETURN_BUG 1
00133 
00134 // Header <new> that comes with the compiler 
00135 // does not define bad_alloc exception
00136 #if defined(__WINS__)
00137 // Possibly required ???
00138 //#  define _STLP_NO_BAD_ALLOC  1
00139 #endif
00140 
00141 // Uncomment if member template methods are not available
00142 // #  define _STLP_NO_MEMBER_TEMPLATES   1
00143 
00144 // Uncomment if member template classes are not available
00145 #if defined(__WINS__)
00146 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES   1
00147 #endif
00148 
00149 // Uncomment if no "template" keyword should be used with member template classes
00150 // #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD   1
00151 
00152 // Uncomment if friend member templates are not available
00153 #if defined(__WINS__)
00154 // Possibly required ???
00155 //#  define _STLP_NO_FRIEND_TEMPLATES   1
00156 #endif
00157 
00158 // Compiler does not accept friend declaration qualified with namespace name.
00159 // #  define _STLP_NO_QUALIFIED_FRIENDS 1
00160 
00161 // Uncomment if partial specialization is not available
00162 #if defined(__WINS__)
00163 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
00164 #endif
00165 
00166 // Define if class being partially specialized require full name (template parameters)
00167 // of itself for method declarations
00168 // #  define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
00169 
00170 // Compiler has problems specializing members of partially 
00171 // specialized class
00172 // #  define _STLP_MEMBER_SPECIALIZATION_BUG
00173 
00174 // Uncomment if partial order of template functions is not available
00175 // #  define _STLP_NO_FUNC_PARTIAL_ORDERING 1
00176 
00177 // Uncomment if specialization of methods is not allowed
00178 // #  define _STLP_NO_METHOD_SPECIALIZATION  1
00179 
00180 // Uncomment if full  specialization does not use partial spec. syntax : template <> struct ....
00181 // #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX  1
00182 
00183 // Uncomment if compiler does not support explicit template arguments for functions
00184 // # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
00185 
00186 // Uncomment if "__typetraits is being instaniated automatically by the compiler (SGI only ?)
00187 // #  define _STLP_AUTOMATIC_TYPE_TRAITS 1
00188 
00189 // Uncomment this if your compiler can't inline while(), for()
00190 // #  define _STLP_LOOP_INLINE_PROBLEMS 1
00191 
00192 // Define if the compiler fails to match a template function argument of base
00193 // #  define _STLP_BASE_MATCH_BUG          1
00194 
00195 // Define if the compiler fails to match a template function argument of base
00196 // (non-template)
00197 //#  define  _STLP_NONTEMPL_BASE_MATCH_BUG 1
00198 
00199 // Define if the compiler rejects outline method definition 
00200 // explicitly taking nested types/typedefs
00201 // #  define _STLP_NESTED_TYPE_PARAM_BUG   1
00202 
00203 // Compiler requires typename keyword on outline method definition 
00204 // explicitly taking nested types/typedefs
00205 // #define  _STLP_TYPENAME_ON_RETURN_TYPE
00206 
00207 // Define if the baseclass typedefs not visible from outside
00208 // #  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
00209 
00210 // if your compiler have serious problems with typedefs, try this one
00211 // #  define _STLP_BASE_TYPEDEF_BUG          1
00212 
00213 // Uncomment if getting errors compiling mem_fun* adaptors
00214 // #  define _STLP_MEMBER_POINTER_PARAM_BUG 1
00215 
00216 // #  define _STLP_UNINITIALIZABLE_PRIVATE  1
00217 
00218 // Defined if the compiler
00219 // has trouble instantiating static array members with dimension defined as enum
00220 // # define _STLP_STATIC_ARRAY_BUG
00221 
00222 // * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a
00223 //   constant-initializer in the declaration of a static const data member
00224 //   of integer type.  (See section 9.4.2, paragraph 4, of the C++ standard.)
00225 #if defined(__WINS__)
00226 # define _STLP_STATIC_CONST_INIT_BUG
00227 #endif
00228 
00229 // Define if default constructor for builtin integer type fails to initialize it to 0
00230 // #  define _STLP_DEFAULT_CONSTRUCTOR_BUG    1
00231 
00232 // Defined if constructor
00233 // required to explicitly call member's default constructors for const objects
00234 // #  define _STLP_CONST_CONSTRUCTOR_BUG    1
00235 
00236 // Defined if the compiler has trouble calling POD-types constructors/destructors
00237 // #  define _STLP_TRIVIAL_CONSTRUCTOR_BUG    1
00238 // #  define _STLP_TRIVIAL_DESTRUCTOR_BUG    1
00239 
00240 // Define if having problems specializing maps/sets with
00241 // key type being const 
00242 // #  define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG
00243 
00244 // Uncomment this to disable -> operators on all iterators
00245 // #  define   _STLP_NO_ARROW_OPERATOR 1
00246 
00247 // Uncomment this to disble at() member functions for containers
00248 // #  define   _STLP_NO_AT_MEMBER_FUNCTION 1
00249 
00250 // Uncomment if native new-style iostreams are not available
00251 // #define    _STLP_HAS_NO_NEW_IOSTREAMS        1
00252 
00253 // Define this if compiler lacks <exception> header
00254 #  define _STLP_NO_EXCEPTION_HEADER 1
00255 
00256 // Uncomment this if your C library has lrand48() function
00257 // #  define _STLP_RAND48 1
00258 
00259 // Uncomment if native new-style C library headers lile <cstddef>, etc are not available.
00260 #   define _STLP_HAS_NO_NEW_C_HEADERS 1
00261 
00262 // uncomment if new-style headers <new> is available
00263 // #  define _STLP_HAS_NEW_NEW_HEADER 1
00264 
00265 // uncomment this if <iostream> and other STD headers put their stuff in ::namespace,
00266 // not std::
00267 // #  define _STLP_VENDOR_GLOBAL_STD
00268 
00269 // uncomment this if <cstdio> and the like put stuff in ::namespace,
00270 // not std::
00271 // #  define _STLP_VENDOR_GLOBAL_CSTD
00272 
00273 // Edit relative path below (or put full path) to get native 
00274 // compiler headers included. Default is "../include".
00275 // C headers may reside in different directory, so separate macro is provided.
00276 // Hint : never install STLport in the directory that ends with "include"
00277 # define _STLP_NATIVE_INCLUDE_PATH ../libc
00278 // # define _STLP_NATIVE_C_INCLUDE_PATH ../include
00279 // # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include
00280 
00281 // This macro constructs header path from directory and name.
00282 // You may change it if your compiler does not understand "/". 
00283 // #  define _STLP_MAKE_HEADER(path, header) <path/header>
00284 
00285 // This macro constructs native include header path from include path and name.
00286 // You may have do define it if experirncing problems with preprocessor
00287 // # define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header)
00288 
00289 // Same for C headers
00290 // _STLP_NATIVE_C_HEADER(header)
00291 
00292 //==========================================================
00293 # endif

Generated on Mon Jun 5 10:20:45 2006 for Intelligence.kdevelop by  doxygen 1.4.6