Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #pragma GCC system_header
00042
00043 #include <bits/c++config.h>
00044
00045 #if _GLIBCXX_HAVE_WCHAR_H
00046 #include <wchar.h>
00047 #endif
00048
00049 #ifndef _GLIBCXX_CWCHAR
00050 #define _GLIBCXX_CWCHAR 1
00051
00052
00053
00054 #ifndef _GLIBCXX_HAVE_MBSTATE_T
00055 extern "C"
00056 {
00057 typedef struct
00058 {
00059 int __fill[6];
00060 } mbstate_t;
00061 }
00062 #endif
00063
00064 namespace std
00065 {
00066 using ::mbstate_t;
00067 }
00068
00069
00070 #undef btowc
00071 #undef fgetwc
00072 #undef fgetws
00073 #undef fputwc
00074 #undef fputws
00075 #undef fwide
00076 #undef fwprintf
00077 #undef fwscanf
00078 #undef getwc
00079 #undef getwchar
00080 #undef mbrlen
00081 #undef mbrtowc
00082 #undef mbsinit
00083 #undef mbsrtowcs
00084 #undef putwc
00085 #undef putwchar
00086 #undef swprintf
00087 #undef swscanf
00088 #undef ungetwc
00089 #undef vfwprintf
00090 #if _GLIBCXX_HAVE_VFWSCANF
00091 # undef vfwscanf
00092 #endif
00093 #undef vswprintf
00094 #if _GLIBCXX_HAVE_VSWSCANF
00095 # undef vswscanf
00096 #endif
00097 #undef vwprintf
00098 #if _GLIBCXX_HAVE_VWSCANF
00099 # undef vwscanf
00100 #endif
00101 #undef wcrtomb
00102 #undef wcscat
00103 #undef wcschr
00104 #undef wcscmp
00105 #undef wcscoll
00106 #undef wcscpy
00107 #undef wcscspn
00108 #undef wcsftime
00109 #undef wcslen
00110 #undef wcsncat
00111 #undef wcsncmp
00112 #undef wcsncpy
00113 #undef wcspbrk
00114 #undef wcsrchr
00115 #undef wcsrtombs
00116 #undef wcsspn
00117 #undef wcsstr
00118 #undef wcstod
00119 #if _GLIBCXX_HAVE_WCSTOF
00120 # undef wcstof
00121 #endif
00122 #undef wcstok
00123 #undef wcstol
00124 #undef wcstoul
00125 #undef wcsxfrm
00126 #undef wctob
00127 #undef wmemchr
00128 #undef wmemcmp
00129 #undef wmemcpy
00130 #undef wmemmove
00131 #undef wmemset
00132 #undef wprintf
00133 #undef wscanf
00134
00135 #if _GLIBCXX_USE_WCHAR_T
00136
00137 namespace std _GLIBCXX_VISIBILITY(default)
00138 {
00139 using ::wint_t;
00140
00141 using ::btowc;
00142 using ::fgetwc;
00143 using ::fgetws;
00144 using ::fputwc;
00145 using ::fputws;
00146 using ::fwide;
00147 using ::fwprintf;
00148 using ::fwscanf;
00149 using ::getwc;
00150 using ::getwchar;
00151 using ::mbrlen;
00152 using ::mbrtowc;
00153 using ::mbsinit;
00154 using ::mbsrtowcs;
00155 using ::putwc;
00156 using ::putwchar;
00157 #ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF
00158 using ::swprintf;
00159 #endif
00160 using ::swscanf;
00161 using ::ungetwc;
00162 using ::vfwprintf;
00163 #if _GLIBCXX_HAVE_VFWSCANF
00164 using ::vfwscanf;
00165 #endif
00166 #ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF
00167 using ::vswprintf;
00168 #endif
00169 #if _GLIBCXX_HAVE_VSWSCANF
00170 using ::vswscanf;
00171 #endif
00172 using ::vwprintf;
00173 #if _GLIBCXX_HAVE_VWSCANF
00174 using ::vwscanf;
00175 #endif
00176 using ::wcrtomb;
00177 using ::wcscat;
00178 using ::wcscmp;
00179 using ::wcscoll;
00180 using ::wcscpy;
00181 using ::wcscspn;
00182 using ::wcsftime;
00183 using ::wcslen;
00184 using ::wcsncat;
00185 using ::wcsncmp;
00186 using ::wcsncpy;
00187 using ::wcsrtombs;
00188 using ::wcsspn;
00189 using ::wcstod;
00190 #if _GLIBCXX_HAVE_WCSTOF
00191 using ::wcstof;
00192 #endif
00193 using ::wcstok;
00194 using ::wcstol;
00195 using ::wcstoul;
00196 using ::wcsxfrm;
00197 using ::wctob;
00198 using ::wmemcmp;
00199 using ::wmemcpy;
00200 using ::wmemmove;
00201 using ::wmemset;
00202 using ::wprintf;
00203 using ::wscanf;
00204 using ::wcschr;
00205 using ::wcspbrk;
00206 using ::wcsrchr;
00207 using ::wcsstr;
00208 using ::wmemchr;
00209
00210 _GLIBCXX_BEGIN_NAMESPACE_VERSION
00211
00212 #ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO
00213 inline wchar_t*
00214 wcschr(wchar_t* __p, wchar_t __c)
00215 { return wcschr(const_cast<const wchar_t*>(__p), __c); }
00216
00217 inline wchar_t*
00218 wcspbrk(wchar_t* __s1, const wchar_t* __s2)
00219 { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
00220
00221 inline wchar_t*
00222 wcsrchr(wchar_t* __p, wchar_t __c)
00223 { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
00224
00225 inline wchar_t*
00226 wcsstr(wchar_t* __s1, const wchar_t* __s2)
00227 { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
00228
00229 inline wchar_t*
00230 wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
00231 { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
00232 #endif
00233
00234 _GLIBCXX_END_NAMESPACE_VERSION
00235 }
00236
00237 #if _GLIBCXX_USE_C99
00238
00239 #undef wcstold
00240 #undef wcstoll
00241 #undef wcstoull
00242
00243 namespace __gnu_cxx
00244 {
00245 #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
00246 extern "C" long double
00247 (wcstold)(const wchar_t * __restrict, wchar_t ** __restrict) throw ();
00248 #endif
00249 #if !_GLIBCXX_USE_C99_DYNAMIC
00250 using ::wcstold;
00251 #endif
00252 #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00253 extern "C" long long int
00254 (wcstoll)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw ();
00255 extern "C" unsigned long long int
00256 (wcstoull)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw ();
00257 #endif
00258 #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00259 using ::wcstoll;
00260 using ::wcstoull;
00261 #endif
00262 }
00263
00264 namespace std
00265 {
00266 using ::__gnu_cxx::wcstold;
00267 using ::__gnu_cxx::wcstoll;
00268 using ::__gnu_cxx::wcstoull;
00269 }
00270
00271 #endif
00272
00273 #endif //_GLIBCXX_USE_WCHAR_T
00274
00275 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00276
00277 #ifdef _GLIBCXX_USE_WCHAR_T
00278
00279 namespace std
00280 {
00281 #if _GLIBCXX_HAVE_WCSTOF
00282 using std::wcstof;
00283 #endif
00284 #if _GLIBCXX_HAVE_VFWSCANF
00285 using std::vfwscanf;
00286 #endif
00287 #if _GLIBCXX_HAVE_VSWSCANF
00288 using std::vswscanf;
00289 #endif
00290 #if _GLIBCXX_HAVE_VWSCANF
00291 using std::vwscanf;
00292 #endif
00293
00294 #if _GLIBCXX_USE_C99
00295 using std::wcstold;
00296 using std::wcstoll;
00297 using std::wcstoull;
00298 #endif
00299 }
00300
00301 #endif // _GLIBCXX_USE_WCHAR_T
00302
00303 #endif // __GXX_EXPERIMENTAL_CXX0X__
00304
00305 #endif