Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenc_locale.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (c) 1999 00003 * Silicon Graphics Computer Systems, Inc. 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 #ifndef _STLP_C_LOCALE_H 00020 #define _STLP_C_LOCALE_H 00021 00022 /* 00023 * Implementation dependent definitions. 00024 * Beware: This header is not a purely internal header, it is also included 00025 * from the outside world when building the STLport library. So this header 00026 * should not reference internal headers (stlport/stl/_*.h) directly. 00027 */ 00028 #if defined (__sgi) 00029 # if defined (ROOT_65) /* IRIX 6.5.x */ 00030 # include <sgidefs.h> 00031 # include <standards.h> 00032 # include <wchar.h> 00033 # include <ctype.h> 00034 # else /* IRIX pre-6.5 */ 00035 # include <sgidefs.h> 00036 # include <standards.h> 00037 # if !defined(_SIZE_T) && !defined(_SIZE_T_) 00038 # define _SIZE_T 00039 # if (_MIPS_SZLONG == 32) 00040 typedef unsigned int size_t; 00041 # endif 00042 # if (_MIPS_SZLONG == 64) 00043 typedef unsigned long size_t; 00044 # endif 00045 # endif 00046 # if !defined (_WCHAR_T) 00047 # define _WCHAR_T 00048 # if (_MIPS_SZLONG == 32) 00049 typedef long wchar_t; 00050 # endif 00051 # if (_MIPS_SZLONG == 64) 00052 typedef __int32_t wchar_t; 00053 # endif 00054 # endif /* _WCHAR_T */ 00055 # if !defined (_WINT_T) 00056 # define _WINT_T 00057 # if (_MIPS_SZLONG == 32) 00058 typedef long wint_t; 00059 # endif 00060 # if (_MIPS_SZLONG == 64) 00061 typedef __int32_t wint_t; 00062 # endif 00063 # endif /* _WINT_T */ 00064 # if !defined (_MBSTATE_T) 00065 # define _MBSTATE_T 00066 /* _MSC_VER check is here for historical reason and seems wrong as it is the macro defined 00067 * by Microsoft compilers to give their version. But we are in a SGI platform section so it 00068 * is weird. However _MSC_VER might also be a SGI compiler macro so we keep it this way.*/ 00069 # if defined (_MSC_VER) 00070 typedef int mbstate_t; 00071 # else 00072 typedef char mbstate_t; 00073 # endif 00074 # endif /* _MBSTATE_T */ 00075 # endif /* ROOT65 */ 00076 #elif defined (_STLP_USE_GLIBC) 00077 # include <ctype.h> 00078 #endif 00079 00080 /* 00081 * GENERAL FRAMEWORK 00082 */ 00083 00084 /* 00085 * Opaque types, implementation (if there is one) depends 00086 * on platform localisation API. 00087 */ 00088 struct _Locale_ctype; 00089 struct _Locale_codecvt; 00090 struct _Locale_numeric; 00091 struct _Locale_time; 00092 struct _Locale_collate; 00093 struct _Locale_monetary; 00094 struct _Locale_messages; 00095 00096 /* 00097 Bitmask macros. 00098 */ 00099 00100 /* 00101 * For narrow characters, we expose the lookup table interface. 00102 */ 00103 00104 #if defined (_STLP_USE_GLIBC) 00105 /* This section uses macros defined in the gnu libc ctype.h header */ 00106 # define _Locale_CNTRL _IScntrl 00107 # define _Locale_UPPER _ISupper 00108 # define _Locale_LOWER _ISlower 00109 # define _Locale_DIGIT _ISdigit 00110 # define _Locale_XDIGIT _ISxdigit 00111 # define _Locale_PUNCT _ISpunct 00112 # define _Locale_SPACE _ISspace 00113 # define _Locale_PRINT _ISprint 00114 # define _Locale_ALPHA _ISalpha 00115 #else 00116 /* Default values based on C++ Standard 22.2.1. 00117 * Under Windows the localisation implementation take care of mapping its 00118 * mask values to those internal values. For other platforms without real 00119 * localization support we are free to use the most suitable values.*/ 00120 # define _Locale_SPACE 0x0001 00121 # define _Locale_PRINT 0x0002 00122 # define _Locale_CNTRL 0x0004 00123 # define _Locale_UPPER 0x0008 00124 # define _Locale_LOWER 0x0010 00125 # define _Locale_ALPHA 0x0020 00126 # define _Locale_DIGIT 0x0040 00127 # define _Locale_PUNCT 0x0080 00128 # define _Locale_XDIGIT 0x0100 00129 #endif 00130 00131 #endif /* _STLP_C_LOCALE_H */ Generated on Sun May 27 2012 04:29:47 for ReactOS by
1.7.6.1
|