00001
00002
00003
00004
00005
00006 #if defined(__MRC__) && __MRC__ < 0x500
00007 # error Apple's MPW MrCpp v.5.0.0 or better compiler required
00008 #endif
00009 #if defined(__SC__) && __SC__ < 0x890
00010 # error Apple's MPW SCpp v.8.9.0 or better compiler required
00011 #endif
00012
00013 #ifdef qMacApp
00014 # ifndef __CONDITIONALMACROS__ // skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included
00015 # include <CoreSwitches_AC.h>
00016 # include <ConditionalMacros_AC.h>
00017 # include <Types_AC.h>
00018 # define _STLP_FILE__ _FILE_AC
00019 # define _STLP_DEBUG_MESSAGE
00020 # define __stl_debug_message ProgramBreak_AC
00021 # include <ConditionalMacros.h>
00022 # endif
00023 # include <Types.h>
00024 #else
00025 # include <ConditionalMacros.h>
00026 # include <Types.h>
00027 #endif
00028
00029 #define _STLP_UINT32_T UInt32
00030 typedef int wint_t;
00031
00032 #ifndef TYPE_BOOL
00033 # error <ConditionalMacros.h> must be included. (TYPE_BOOL)
00034 #endif
00035 #if !TYPE_BOOL
00036 # define _STLP_NO_BOOL
00037 # define _STLP_DONT_USE_BOOL_TYPEDEF
00038 #endif
00039
00040 #ifndef TYPE_LONGLONG
00041 # error <ConditionalMacros.h> must be included. (TYPE_LONGLONG)
00042 #endif
00043 #if TYPE_LONGLONG
00044 # define _STLP_LONG_LONG long long
00045 #endif
00046
00047 #if !__option(exceptions)
00048 # define _STLP_HAS_NO_EXCEPTIONS
00049 #endif
00050
00051 #define _STLP_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail.");
00052 #define _STLP_ASSERT_MSG_TRAILER " "
00053
00054 #ifdef _STLP_DEBUG
00055 # define _STLP_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x)
00056 #endif
00057
00058 #if defined(__MRC__)
00059 # ifndef __spillargs
00060 # define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ]
00061 # endif
00062 #endif
00063
00064 #if defined(__SC__)
00065 #define _STLP_VENDOR_LONG_DOUBLE_MATH //*TY 12/03/2000 - SCpp's native math type is long double
00066 #endif
00067
00068 #ifndef _STLP_NATIVE_INCLUDE_PATH
00069 # if __option(unix_includes)
00070 # define _STLP_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL}
00071 # else
00072 # define _STLP_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL}
00073 # endif
00074 #endif
00075 #if !defined(_STLP_MAKE_HEADER)
00076 # if !__option(unix_includes)
00077 # define _STLP_MAKE_HEADER(path, header) <path:header> // Mac uses ":" for directory delimiter
00078 # endif
00079 #endif
00080
00081 # define _STLD _DBG // to keep the length of generated symbols within the compiler limitation
00082
00083 #define _STLP_OWN_IOSTREAMS
00084 #define _STLP_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ]
00085 #define _STLP_NO_THREADS //*TY 12/17/2000 - multi-thread capability not explored, yet.
00086
00087
00088 #define _STLP_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet
00089 #define _STLP_NO_BAD_ALLOC // known limitation
00090 #define _STLP_HAS_NO_NEW_C_HEADERS // known limitation
00091 #define _STLP_NO_NEW_NEW_HEADER // known limitation
00092 #define _STLP_HAS_NO_NEW_IOSTREAMS // known limitation
00093 #define _STLP_NO_NATIVE_MBSTATE_T // known limitation
00094 #define _STLP_NO_NATIVE_WIDE_FUNCTIONS // known limitation
00095 #define _STLP_NO_NATIVE_WIDE_STREAMS // known limitation
00096 #define _STLP_INCOMPLETE_EXCEPTION_HEADER // known limitation
00097 #define _STLP_BROKEN_EXCEPTION_CLASS // known limitation
00098
00099
00100 # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
00101
00102 # define _STLP_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround
00103 # define _STLP_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround
00104 # define _STLP_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround
00105 # define _STLP_THROW_RETURN_BUG // known limitation
00106 # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation
00107 # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation
00108 # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation
00109 # define _STLP_NO_RELOPS_NAMESPACE // known limitation
00110