epoc32/include/stdapis/stlport/config/stl_epoc.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2  * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
     3  *
     4  * Copyright (c) 1997
     5  * Moscow Center for SPARC Technology
     6  *
     7  * Copyright (c) 1999 
     8  * Boris Fomitchev
     9  *
    10  * This material is provided "as is", with absolutely no warranty expressed
    11  * or implied. Any use is at your own risk.
    12  *
    13  * Permission to use or copy this software for any purpose is hereby granted 
    14  * without fee, provided the above notices are retained on all copies.
    15  * Permission to modify the code and to distribute modified code is granted,
    16  * provided the above notices are retained, and a notice that the code was
    17  * modified is included with the above copyright notice.
    18  *
    19  */
    20 
    21 /*
    22  * Purpose of this file :
    23  *
    24  * A list of COMPILER-SPECIFIC portion of STLport settings.
    25  * This file is provided to help in manulal configuration
    26  * of STLport. This file is being included by stlcomp.h 
    27  * when STLport is unable to identify your compiler.
    28  * Please remove the error diagnostic below before adjusting 
    29  * macros.
    30  * 
    31  */
    32 # ifndef _STLP_EPOC_H
    33 #  define  _STLP_EPOC_H
    34 
    35 // NON-STANDARD!!!!
    36 
    37 #if defined(__WINS__)
    38 #  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)
    39 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    40 // Uncomment if partial order of template functions is not available
    41 #  define _STLP_NO_FUNC_PARTIAL_ORDERING 1
    42 #endif
    43 /*
    44 #ifndef _STLP_NO_IOSTREAMS
    45 #  define _STLP_NO_IOSTREAMS	               1
    46 #endif
    47 
    48 #  undef  _STLP_OWN_IOSTREAMS
    49 #  define _STLP_NO_NATIVE_MBSTATE_T            1
    50 //#  define _NOTHREADS                           1
    51 #  define _STLP_NO_TYPEINFO                    1
    52 */
    53 #ifndef __PLACEMENT_NEW_INLINE
    54 #ifndef __E32STD_H__
    55 inline void * operator new(unsigned int, void *_P) { return (_P); }
    56 #define __PLACEMENT_NEW_INLINE
    57 #endif // E32STD_H
    58 #endif
    59 
    60 //==========================================================
    61 
    62 // the values choosen here as defaults try to give
    63 // maximum functionality on the most conservative settings
    64 
    65 // Mostly correct guess, change it for Alpha (and other environments
    66 // that has 64-bit "long")
    67 #  define _STLP_UINT32_T unsigned long
    68 
    69 // Disables wchar_t functinality
    70 #  define _STLP_NO_WCHAR_T  1
    71 
    72 // Define if wchar_t is not a unique type, and is actually a typedef to unsigned short. 
    73 // #  define _STLP_WCHAR_T_IS_USHORT 1
    74 
    75 // Uncomment if long long is available
    76 // #  define _STLP_LONG_LONG long long
    77 
    78 // Uncomment if long double is not available
    79 // #  define _STLP_NO_LONG_DOUBLE 1
    80 
    81 // Uncomment this if your compiler does not support namespaces 
    82 #  define _STLP_HAS_NO_NAMESPACES 1
    83 
    84 // Uncomment if "using" keyword does not work with template types 
    85 // # define _STLP_BROKEN_USING_DIRECTIVE 1
    86 
    87 // Uncomment this if your compiler does not support exceptions
    88 #  define _STLP_HAS_NO_EXCEPTIONS 1
    89 
    90 // Header <new> that comes with the compiler 
    91 // does not define bad_alloc exception
    92 //#if defined(__WINS__)
    93 // Possibly required ???
    94 #  define _STLP_NO_BAD_ALLOC  1
    95 //#endif
    96 
    97 // Uncomment if member template methods are not available
    98 // #  define _STLP_NO_MEMBER_TEMPLATES   1
    99 
   100 // Uncomment if member template classes are not available
   101 #if defined(__WINS__)
   102 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES   1
   103 #endif
   104 
   105 // Uncomment if friend member templates are not available
   106 #if defined(__WINS__)
   107 // Possibly required ???
   108 //#  define _STLP_NO_FRIEND_TEMPLATES   1
   109 #endif
   110 
   111 // Compiler does not accept friend declaration qualified with namespace name.
   112 // #  define _STLP_NO_QUALIFIED_FRIENDS 1
   113 
   114 // Uncomment if partial specialization is not available
   115 #if defined(__WINS__)
   116 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
   117 #endif
   118 
   119 // Define if class being partially specialized require full name (template parameters)
   120 // of itself for method declarations
   121 // #  define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
   122 
   123 // Compiler has problems specializing members of partially 
   124 // specialized class
   125 // #  define _STLP_MEMBER_SPECIALIZATION_BUG
   126 
   127 // Compiler requires typename keyword on outline method definition 
   128 // explicitly taking nested types/typedefs
   129 // #define  _STLP_TYPENAME_ON_RETURN_TYPE
   130 
   131 // * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a
   132 //   constant-initializer in the declaration of a static const data member
   133 //   of integer type.  (See section 9.4.2, paragraph 4, of the C++ standard.)
   134 #if defined(__WINS__)
   135 # define _STLP_STATIC_CONST_INIT_BUG
   136 #endif
   137 
   138 // Define if default constructor for builtin integer type fails to initialize it to 0
   139 // #  define _STLP_DEFAULT_CONSTRUCTOR_BUG    1
   140 
   141 // Defined if constructor
   142 // required to explicitly call member's default constructors for const objects
   143 // #  define _STLP_CONST_CONSTRUCTOR_BUG    1
   144 
   145 // Define this if compiler lacks <exception> header
   146 #  define _STLP_NO_EXCEPTION_HEADER 1
   147 
   148 // Uncomment if native new-style C library headers lile <cstddef>, etc are not available.
   149 #   define _STLP_HAS_NO_NEW_C_HEADERS 1
   150 
   151 // uncomment if new-style headers <new> is available
   152 // #  define _STLP_HAS_NEW_NEW_HEADER 1
   153 
   154 // uncomment this if <iostream> and other STD headers put their stuff in ::namespace,
   155 // not std::
   156 // #  define _STLP_VENDOR_GLOBAL_STD
   157 
   158 // uncomment this if <cstdio> and the like put stuff in ::namespace,
   159 // not std::
   160 #  define _STLP_VENDOR_GLOBAL_CSTD
   161 
   162 // Edit relative path below (or put full path) to get native 
   163 // compiler headers included. Default is "../include".
   164 // C headers may reside in different directory, so separate macro is provided.
   165 // Hint : never install STLport in the directory that ends with "include"
   166 // # define _STLP_NATIVE_INCLUDE_PATH ../include
   167 # define _STLP_NATIVE_C_INCLUDE_PATH libc
   168 # define _STLP_NATIVE_INCLUDE_PATH libc
   169 
   170 //==========================================================
   171 # endif