xref: /reactos/sdk/include/c++/cwchar (revision 8a978a17)
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  inline wchar_t*
134  wcschr(wchar_t* __p, wchar_t __c)
135  { return wcschr(const_cast<const wchar_t*>(__p), __c); }
136
137  inline wchar_t*
138  wcspbrk(wchar_t* __s1, const wchar_t* __s2)
139  { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
140
141  inline wchar_t*
142  wcsrchr(wchar_t* __p, wchar_t __c)
143  { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
144
145  inline wchar_t*
146  wcsstr(wchar_t* __s1, const wchar_t* __s2)
147  { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
148
149  inline wchar_t*
150  wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
151  { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
152}
153