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
00042
00043
00044
#ifndef _GLIBCXX_CWCHAR
00045
#define _GLIBCXX_CWCHAR 1
00046
00047
#pragma GCC system_header
00048
00049
#include <bits/c++config.h>
00050
#include <cstddef>
00051
#include <ctime>
00052
00053
#if _GLIBCXX_HAVE_WCHAR_H
00054
#include <wchar.h>
00055
#endif
00056
00057
00058
00059
#ifndef _GLIBCXX_HAVE_MBSTATE_T
00060
extern "C"
00061 {
00062
typedef struct
00063
{
00064
int __fill[6];
00065 } mbstate_t;
00066 }
00067
#endif
00068
00069
namespace std
00070 {
00071 using ::mbstate_t;
00072 }
00073
00074
00075
#undef btowc
00076
#undef fgetwc
00077
#undef fgetws
00078
#undef fputwc
00079
#undef fputws
00080
#undef fwide
00081
#undef fwprintf
00082
#undef fwscanf
00083
#undef getwc
00084
#undef getwchar
00085
#undef mbrlen
00086
#undef mbrtowc
00087
#undef mbsinit
00088
#undef mbsrtowcs
00089
#undef putwc
00090
#undef putwchar
00091
#undef swprintf
00092
#undef swscanf
00093
#undef ungetwc
00094
#undef vfwprintf
00095
#if _GLIBCXX_HAVE_VFWSCANF
00096
# undef vfwscanf
00097
#endif
00098
#undef vswprintf
00099
#if _GLIBCXX_HAVE_VSWSCANF
00100
# undef vswscanf
00101
#endif
00102
#undef vwprintf
00103
#if _GLIBCXX_HAVE_VWSCANF
00104
# undef vwscanf
00105
#endif
00106
#undef wcrtomb
00107
#undef wcscat
00108
#undef wcschr
00109
#undef wcscmp
00110
#undef wcscoll
00111
#undef wcscpy
00112
#undef wcscspn
00113
#undef wcsftime
00114
#undef wcslen
00115
#undef wcsncat
00116
#undef wcsncmp
00117
#undef wcsncpy
00118
#undef wcspbrk
00119
#undef wcsrchr
00120
#undef wcsrtombs
00121
#undef wcsspn
00122
#undef wcsstr
00123
#undef wcstod
00124
#if _GLIBCXX_HAVE_WCSTOF
00125
# undef wcstof
00126
#endif
00127
#undef wcstok
00128
#undef wcstol
00129
#undef wcstoul
00130
#undef wcsxfrm
00131
#undef wctob
00132
#undef wmemchr
00133
#undef wmemcmp
00134
#undef wmemcpy
00135
#undef wmemmove
00136
#undef wmemset
00137
#undef wprintf
00138
#undef wscanf
00139
00140
#if _GLIBCXX_USE_WCHAR_T
00141
namespace std
00142 {
00143 using ::wint_t;
00144
00145 using ::btowc;
00146 using ::fgetwc;
00147 using ::fgetws;
00148 using ::fputwc;
00149 using ::fputws;
00150 using ::fwide;
00151 using ::fwprintf;
00152 using ::fwscanf;
00153 using ::getwc;
00154 using ::getwchar;
00155 using ::mbrlen;
00156 using ::mbrtowc;
00157 using ::mbsinit;
00158 using ::mbsrtowcs;
00159 using ::putwc;
00160 using ::putwchar;
00161 using ::swprintf;
00162 using ::swscanf;
00163 using ::ungetwc;
00164 using ::vfwprintf;
00165
#if _GLIBCXX_HAVE_VFWSCANF
00166
using ::vfwscanf;
00167
#endif
00168
using ::vswprintf;
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
00205 using ::wcschr;
00206
00207
inline wchar_t*
00208 wcschr(
wchar_t* __p,
wchar_t __c)
00209 {
return wcschr(const_cast<const wchar_t*>(__p), __c); }
00210
00211 using ::wcspbrk;
00212
00213
inline wchar_t*
00214 wcspbrk(
wchar_t* __s1,
wchar_t* __s2)
00215 {
return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
00216
00217 using ::wcsrchr;
00218
00219
inline wchar_t*
00220 wcsrchr(
wchar_t* __p,
wchar_t __c)
00221 {
return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
00222
00223 using ::wcsstr;
00224
00225
inline wchar_t*
00226 wcsstr(
wchar_t* __s1,
wchar_t* __s2)
00227 {
return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
00228
00229 using ::wmemchr;
00230
00231
inline wchar_t*
00232 wmemchr(
wchar_t* __p,
wchar_t __c, size_t __n)
00233 {
return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
00234 }
00235
00236
#if _GLIBCXX_USE_C99
00237
00238
#undef wcstold
00239
#undef wcstoll
00240
#undef wcstoull
00241
00242
namespace __gnu_cxx
00243 {
00244
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
00245
extern "C" long double
00246 (wcstold)(
const wchar_t * restrict,
wchar_t ** restrict);
00247
#endif
00248
#if !_GLIBCXX_USE_C99_DYNAMIC
00249
using ::wcstold;
00250
#endif
00251
#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00252
extern "C" long long int
00253 (wcstoll)(
const wchar_t * restrict,
wchar_t ** restrict,
int);
00254
extern "C" unsigned long long int
00255 (wcstoull)(
const wchar_t * restrict,
wchar_t ** restrict,
int);
00256
#endif
00257
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
00258
using ::wcstoll;
00259 using ::wcstoull;
00260
#endif
00261
}
00262
00263
namespace std
00264 {
00265
using __gnu_cxx::wcstold;
00266
using __gnu_cxx::wcstoll;
00267
using __gnu_cxx::wcstoull;
00268 }
00269
#endif
00270
00271
#endif //_GLIBCXX_USE_WCHAR_T
00272
00273
#endif