cwchar
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 #include <cstddef>
00045
00046 #if _GLIBCXX_HAVE_WCHAR_H
00047 #include <wchar.h>
00048 #endif
00049
00050 #ifndef _GLIBCXX_CWCHAR
00051 #define _GLIBCXX_CWCHAR 1
00052
00053
00054
00055 #ifndef _GLIBCXX_HAVE_MBSTATE_T
00056 extern "C"
00057 {
00058 typedef struct
00059 {
00060 int __fill[6];
00061 } mbstate_t;
00062 }
00063 #endif
00064
00065 _GLIBCXX_BEGIN_NAMESPACE(std)
00066
00067 using ::mbstate_t;
00068
00069 _GLIBCXX_END_NAMESPACE
00070
00071
00072 #undef btowc
00073 #undef fgetwc
00074 #undef fgetws
00075 #undef fputwc
00076 #undef fputws
00077 #undef fwide
00078 #undef fwprintf
00079 #undef fwscanf
00080 #undef getwc
00081 #undef getwchar
00082 #undef mbrlen
00083 #undef mbrtowc
00084 #undef mbsinit
00085 #undef mbsrtowcs
00086 #undef putwc
00087 #undef putwchar
00088 #undef swprintf
00089 #undef swscanf
00090 #undef ungetwc
00091 #undef vfwprintf
00092 #if _GLIBCXX_HAVE_VFWSCANF
00093 # undef vfwscanf
00094 #endif
00095 #undef vswprintf
00096 #if _GLIBCXX_HAVE_VSWSCANF
00097 # undef vswscanf
00098 #endif
00099 #undef vwprintf
00100 #if _GLIBCXX_HAVE_VWSCANF
00101 # undef vwscanf
00102 #endif
00103 #undef wcrtomb
00104 #undef wcscat
00105 #undef wcschr
00106 #undef wcscmp
00107 #undef wcscoll
00108 #undef wcscpy
00109 #undef wcscspn
00110 #undef wcsftime
00111 #undef wcslen
00112 #undef wcsncat
00113 #undef wcsncmp
00114 #undef wcsncpy
00115 #undef wcspbrk
00116 #undef wcsrchr
00117 #undef wcsrtombs
00118 #undef wcsspn
00119 #undef wcsstr
00120 #undef wcstod
00121 #if _GLIBCXX_HAVE_WCSTOF
00122 # undef wcstof
00123 #endif
00124 #undef wcstok
00125 #undef wcstol
00126 #undef wcstoul
00127 #undef wcsxfrm
00128 #undef wctob
00129 #undef wmemchr
00130 #undef wmemcmp
00131 #undef wmemcpy
00132 #undef wmemmove
00133 #undef wmemset
00134 #undef wprintf
00135 #undef wscanf
00136
00137 #if _GLIBCXX_USE_WCHAR_T
00138
00139 _GLIBCXX_BEGIN_NAMESPACE(std)
00140
00141 using ::wint_t;
00142
00143 using ::btowc;
00144 using ::fgetwc;
00145 using ::fgetws;
00146 using ::fputwc;
00147 using ::fputws;
00148 using ::fwide;
00149 using ::fwprintf;
00150 using ::fwscanf;
00151 using ::getwc;
00152 using ::getwchar;
00153 using ::mbrlen;
00154 using ::mbrtowc;
00155 using ::mbsinit;
00156 using ::mbsrtowcs;
00157 using ::putwc;
00158 using ::putwchar;
00159 using ::swprintf;
00160 using ::swscanf;
00161 using ::ungetwc;
00162 using ::vfwprintf;
00163 #if _GLIBCXX_HAVE_VFWSCANF
00164 using ::vfwscanf;
00165 #endif
00166 using ::vswprintf;
00167 #if _GLIBCXX_HAVE_VSWSCANF
00168 using ::vswscanf;
00169 #endif
00170 using ::vwprintf;
00171 #if _GLIBCXX_HAVE_VWSCANF
00172 using ::vwscanf;
00173 #endif
00174 using ::wcrtomb;
00175 using ::wcscat;
00176 using ::wcscmp;
00177 using ::wcscoll;
00178 using ::wcscpy;
00179 using ::wcscspn;
00180 using ::wcsftime;
00181 using ::wcslen;
00182 using ::wcsncat;
00183 using ::wcsncmp;
00184 using ::wcsncpy;
00185 using ::wcsrtombs;
00186 using ::wcsspn;
00187 using ::wcstod;
00188 #if _GLIBCXX_HAVE_WCSTOF
00189 using ::wcstof;
00190 #endif
00191 using ::wcstok;
00192 using ::wcstol;
00193 using ::wcstoul;
00194 using ::wcsxfrm;
00195 using ::wctob;
00196 using ::wmemcmp;
00197 using ::wmemcpy;
00198 using ::wmemmove;
00199 using ::wmemset;
00200 using ::wprintf;
00201 using ::wscanf;
00202 using ::wcschr;
00203 using ::wcspbrk;
00204 using ::wcsrchr;
00205 using ::wcsstr;
00206 using ::wmemchr;
00207
00208 #ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO
00209 inline wchar_t*
00210 wcschr(wchar_t* __p, wchar_t __c)
00211 { return wcschr(const_cast<const wchar_t*>(__p), __c); }
00212
00213 inline wchar_t*
00214 wcspbrk(wchar_t* __s1, const wchar_t* __s2)
00215 { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
00216
00217 inline wchar_t*
00218 wcsrchr(wchar_t* __p, wchar_t __c)
00219 { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
00220
00221 inline wchar_t*
00222 wcsstr(wchar_t* __s1, const wchar_t* __s2)
00223 { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
00224
00225 inline wchar_t*
00226 wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
00227 { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
00228 #endif
00229
00230 _GLIBCXX_END_NAMESPACE
00231
00232 #if _GLIBCXX_USE_C99
00233
00234 #undef wcstold
00235 #undef wcstoll
00236 #undef wcstoull
00237
00238 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
00239
00240 #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
00241 extern "C" long double
00242 (wcstold)(const wchar_t * restrict, wchar_t ** restrict);
00243 #endif
00244 #if !_GLIBCXX_USE_C99_DYNAMIC
00245 using ::wcstold;
00246 #endif
00247 #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00248 extern "C" long long int
00249 (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int);
00250 extern "C" unsigned long long int
00251 (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int);
00252 #endif
00253 #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00254 using ::wcstoll;
00255 using ::wcstoull;
00256 #endif
00257
00258 _GLIBCXX_END_NAMESPACE
00259
00260 _GLIBCXX_BEGIN_NAMESPACE(std)
00261
00262 using ::__gnu_cxx::wcstold;
00263 using ::__gnu_cxx::wcstoll;
00264 using ::__gnu_cxx::wcstoull;
00265
00266 _GLIBCXX_END_NAMESPACE
00267
00268 #endif
00269
00270 #endif //_GLIBCXX_USE_WCHAR_T
00271
00272 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00273 # if defined(_GLIBCXX_INCLUDE_AS_TR1)
00274 # error C++0x header cannot be included from TR1 header
00275 # endif
00276 # if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
00277 # include <tr1_impl/cwchar>
00278 # else
00279 # define _GLIBCXX_INCLUDE_AS_CXX0X
00280 # define _GLIBCXX_BEGIN_NAMESPACE_TR1
00281 # define _GLIBCXX_END_NAMESPACE_TR1
00282 # define _GLIBCXX_TR1
00283 # include <tr1_impl/cwchar>
00284 # undef _GLIBCXX_TR1
00285 # undef _GLIBCXX_END_NAMESPACE_TR1
00286 # undef _GLIBCXX_BEGIN_NAMESPACE_TR1
00287 # undef _GLIBCXX_INCLUDE_AS_CXX0X
00288 # endif
00289 #endif
00290
00291 #endif