Reactos
1// C++ wchar forwarding header
2
3#pragma once
4
5#include <cstddef>
6
7#include <wchar.h>
8
9namespace std
10{
11 using ::mbstate_t;
12}
13
14// Get rid of those macros defined in <wchar.h> in lieu of real functions.
15#undef btowc
16#undef fgetwc
17#undef fgetws
18#undef fputwc
19#undef fputws
20#undef fwide
21#undef fwprintf
22#undef fwscanf
23#undef getwc
24#undef getwchar
25#undef mbrlen
26#undef mbrtowc
27#undef mbsinit
28#undef mbsrtowcs
29#undef putwc
30#undef putwchar
31#undef swprintf
32#undef swscanf
33#undef ungetwc
34#undef vfwprintf
35#undef vfwscanf
36#undef vswprintf
37#undef vswscanf
38#undef vwprintf
39#undef vwscanf
40#undef wcrtomb
41#undef wcscat
42#undef wcschr
43#undef wcscmp
44#undef wcscoll
45#undef wcscpy
46#undef wcscspn
47#undef wcsftime
48#undef wcslen
49#undef wcsncat
50#undef wcsncmp
51#undef wcsncpy
52#undef wcspbrk
53#undef wcsrchr
54#undef wcsrtombs
55#undef wcsspn
56#undef wcsstr
57#undef wcstod
58#undef wcstof
59#undef wcstok
60#undef wcstol
61#undef wcstoul
62#undef wcsxfrm
63#undef wctob
64#undef wmemchr
65#undef wmemcmp
66#undef wmemcpy
67#undef wmemmove
68#undef wmemset
69#undef wprintf
70#undef wscanf
71
72namespace std
73{
74 using ::wint_t;
75
76 using ::btowc;
77 using ::fgetwc;
78 using ::fgetws;
79 using ::fputwc;
80 using ::fputws;
81 using ::fwide;
82 using ::fwprintf;
83 using ::fwscanf;
84 using ::getwc;
85 using ::getwchar;
86 using ::mbrlen;
87 using ::mbrtowc;
88 using ::mbsinit;
89 using ::mbsrtowcs;
90 using ::putwc;
91 using ::putwchar;
92 using ::swprintf;
93 using ::swscanf;
94 using ::ungetwc;
95 using ::vfwprintf;
96 using ::vfwscanf;
97 using ::vswprintf;
98 using ::vswscanf;
99 using ::vwprintf;
100 using ::vwscanf;
101 using ::wcrtomb;
102 using ::wcscat;
103 using ::wcscmp;
104 using ::wcscoll;
105 using ::wcscpy;
106 using ::wcscspn;
107 using ::wcsftime;
108 using ::wcslen;
109 using ::wcsncat;
110 using ::wcsncmp;
111 using ::wcsncpy;
112 using ::wcsrtombs;
113 using ::wcsspn;
114 using ::wcstod;
115 using ::wcstof;
116 using ::wcstok;
117 using ::wcstol;
118 using ::wcstoul;
119 using ::wcsxfrm;
120 using ::wctob;
121 using ::wmemcmp;
122 using ::wmemcpy;
123 using ::wmemmove;
124 using ::wmemset;
125 using ::wprintf;
126 using ::wscanf;
127 using ::wcschr;
128 using ::wcspbrk;
129 using ::wcsrchr;
130 using ::wcsstr;
131 using ::wmemchr;
132
133#ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO
134 inline wchar_t*
135 wcschr(wchar_t* __p, wchar_t __c)
136 { return wcschr(const_cast<const wchar_t*>(__p), __c); }
137
138 inline wchar_t*
139 wcspbrk(wchar_t* __s1, const wchar_t* __s2)
140 { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
141
142 inline wchar_t*
143 wcsrchr(wchar_t* __p, wchar_t __c)
144 { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
145
146 inline wchar_t*
147 wcsstr(wchar_t* __s1, const wchar_t* __s2)
148 { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
149
150 inline wchar_t*
151 wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
152 { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
153#endif // __CORRECT_ISO_CPP_WCHAR_H_PROTO
154}