root / lab4 / .minix-src / include / c++ / cwchar @ 14
History | View | Annotate | Download (7.7 KB)
1 |
// -*- C++ -*- |
---|---|
2 |
//===--------------------------- cwchar -----------------------------------===// |
3 |
// |
4 |
// The LLVM Compiler Infrastructure |
5 |
// |
6 |
// This file is dual licensed under the MIT and the University of Illinois Open |
7 |
// Source Licenses. See LICENSE.TXT for details. |
8 |
// |
9 |
//===----------------------------------------------------------------------===// |
10 |
|
11 |
#ifndef _LIBCPP_CWCHAR |
12 |
#define _LIBCPP_CWCHAR |
13 |
|
14 |
/* |
15 |
cwchar synopsis |
16 |
|
17 |
Macros: |
18 |
|
19 |
NULL |
20 |
WCHAR_MAX |
21 |
WCHAR_MIN |
22 |
WEOF |
23 |
|
24 |
namespace std |
25 |
{ |
26 |
|
27 |
Types: |
28 |
|
29 |
mbstate_t |
30 |
size_t |
31 |
tm |
32 |
wint_t |
33 |
|
34 |
int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...); |
35 |
int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...); |
36 |
int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...); |
37 |
int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...); |
38 |
int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg); |
39 |
int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg); // C99 |
40 |
int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, va_list arg); |
41 |
int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg); // C99 |
42 |
int vwprintf(const wchar_t* restrict format, va_list arg); |
43 |
int vwscanf(const wchar_t* restrict format, va_list arg); // C99 |
44 |
int wprintf(const wchar_t* restrict format, ...); |
45 |
int wscanf(const wchar_t* restrict format, ...); |
46 |
wint_t fgetwc(FILE* stream); |
47 |
wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream); |
48 |
wint_t fputwc(wchar_t c, FILE* stream); |
49 |
int fputws(const wchar_t* restrict s, FILE* restrict stream); |
50 |
int fwide(FILE* stream, int mode); |
51 |
wint_t getwc(FILE* stream); |
52 |
wint_t getwchar(); |
53 |
wint_t putwc(wchar_t c, FILE* stream); |
54 |
wint_t putwchar(wchar_t c); |
55 |
wint_t ungetwc(wint_t c, FILE* stream); |
56 |
double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr); |
57 |
float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr); // C99 |
58 |
long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr); // C99 |
59 |
long wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); |
60 |
long long wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); // C99 |
61 |
unsigned long wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); |
62 |
unsigned long long wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); // C99 |
63 |
wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2); |
64 |
wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n); |
65 |
wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2); |
66 |
wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n); |
67 |
int wcscmp(const wchar_t* s1, const wchar_t* s2); |
68 |
int wcscoll(const wchar_t* s1, const wchar_t* s2); |
69 |
int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n); |
70 |
size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n); |
71 |
const wchar_t* wcschr(const wchar_t* s, wchar_t c); |
72 |
wchar_t* wcschr( wchar_t* s, wchar_t c); |
73 |
size_t wcscspn(const wchar_t* s1, const wchar_t* s2); |
74 |
size_t wcslen(const wchar_t* s); |
75 |
const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2); |
76 |
wchar_t* wcspbrk( wchar_t* s1, const wchar_t* s2); |
77 |
const wchar_t* wcsrchr(const wchar_t* s, wchar_t c); |
78 |
wchar_t* wcsrchr( wchar_t* s, wchar_t c); |
79 |
size_t wcsspn(const wchar_t* s1, const wchar_t* s2); |
80 |
const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2); |
81 |
wchar_t* wcsstr( wchar_t* s1, const wchar_t* s2); |
82 |
wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2, wchar_t** restrict ptr); |
83 |
const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); |
84 |
wchar_t* wmemchr( wchar_t* s, wchar_t c, size_t n); |
85 |
int wmemcmp(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n); |
86 |
wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n); |
87 |
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); |
88 |
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); |
89 |
size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format, |
90 |
const tm* restrict timeptr); |
91 |
wint_t btowc(int c); |
92 |
int wctob(wint_t c); |
93 |
int mbsinit(const mbstate_t* ps); |
94 |
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps); |
95 |
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps); |
96 |
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps); |
97 |
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len, |
98 |
mbstate_t* restrict ps); |
99 |
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len, |
100 |
mbstate_t* restrict ps); |
101 |
|
102 |
} // std |
103 |
|
104 |
*/ |
105 |
|
106 |
#include <__config> |
107 |
#include <cwctype> |
108 |
#include <wchar.h> |
109 |
#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) |
110 |
#include <support/win32/support.h> // pull in *swprintf defines |
111 |
#endif // _LIBCPP_MSVCRT |
112 |
|
113 |
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) |
114 |
#pragma GCC system_header |
115 |
#endif |
116 |
|
117 |
_LIBCPP_BEGIN_NAMESPACE_STD |
118 |
|
119 |
using ::mbstate_t; |
120 |
using ::size_t; |
121 |
using ::tm; |
122 |
using ::wint_t; |
123 |
using ::FILE; |
124 |
using ::fwprintf; |
125 |
using ::fwscanf; |
126 |
using ::swprintf; |
127 |
using ::vfwprintf; |
128 |
using ::vswprintf; |
129 |
#ifndef _LIBCPP_MSVCRT |
130 |
using ::swscanf; |
131 |
using ::vfwscanf; |
132 |
using ::vswscanf; |
133 |
#endif // _LIBCPP_MSVCRT |
134 |
using ::fgetwc; |
135 |
using ::fgetws; |
136 |
using ::fputwc; |
137 |
using ::fputws; |
138 |
using ::fwide; |
139 |
using ::getwc; |
140 |
using ::putwc; |
141 |
using ::ungetwc; |
142 |
using ::wcstod; |
143 |
#ifndef _LIBCPP_MSVCRT |
144 |
using ::wcstof; |
145 |
using ::wcstold; |
146 |
#endif // _LIBCPP_MSVCRT |
147 |
using ::wcstol; |
148 |
#ifndef _LIBCPP_HAS_NO_LONG_LONG |
149 |
using ::wcstoll; |
150 |
#endif // _LIBCPP_HAS_NO_LONG_LONG |
151 |
using ::wcstoul; |
152 |
#ifndef _LIBCPP_HAS_NO_LONG_LONG |
153 |
using ::wcstoull; |
154 |
#endif // _LIBCPP_HAS_NO_LONG_LONG |
155 |
using ::wcscpy; |
156 |
using ::wcsncpy; |
157 |
using ::wcscat; |
158 |
using ::wcsncat; |
159 |
using ::wcscmp; |
160 |
using ::wcscoll; |
161 |
using ::wcsncmp; |
162 |
using ::wcsxfrm; |
163 |
|
164 |
#if defined(_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_) |
165 |
|
166 |
using ::wcschr; |
167 |
using ::wcspbrk; |
168 |
using ::wcsrchr; |
169 |
using ::wcsstr; |
170 |
using ::wmemchr; |
171 |
|
172 |
#else |
173 |
|
174 |
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcschr(const wchar_t* __s, wchar_t __c) {return ::wcschr(__s, __c);} |
175 |
inline _LIBCPP_INLINE_VISIBILITY wchar_t* wcschr( wchar_t* __s, wchar_t __c) {return ::wcschr(__s, __c);} |
176 |
|
177 |
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcspbrk(const wchar_t* __s1, const wchar_t* __s2) {return ::wcspbrk(__s1, __s2);} |
178 |
inline _LIBCPP_INLINE_VISIBILITY wchar_t* wcspbrk( wchar_t* __s1, const wchar_t* __s2) {return ::wcspbrk(__s1, __s2);} |
179 |
|
180 |
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcsrchr(const wchar_t* __s, wchar_t __c) {return ::wcsrchr(__s, __c);} |
181 |
inline _LIBCPP_INLINE_VISIBILITY wchar_t* wcsrchr( wchar_t* __s, wchar_t __c) {return ::wcsrchr(__s, __c);} |
182 |
|
183 |
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcsstr(const wchar_t* __s1, const wchar_t* __s2) {return ::wcsstr(__s1, __s2);} |
184 |
inline _LIBCPP_INLINE_VISIBILITY wchar_t* wcsstr( wchar_t* __s1, const wchar_t* __s2) {return ::wcsstr(__s1, __s2);} |
185 |
|
186 |
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) {return ::wmemchr(__s, __c, __n);} |
187 |
inline _LIBCPP_INLINE_VISIBILITY wchar_t* wmemchr( wchar_t* __s, wchar_t __c, size_t __n) {return ::wmemchr(__s, __c, __n);} |
188 |
|
189 |
#endif |
190 |
|
191 |
using ::wcscspn; |
192 |
using ::wcslen; |
193 |
using ::wcsspn; |
194 |
using ::wcstok; |
195 |
using ::wmemcmp; |
196 |
using ::wmemcpy; |
197 |
using ::wmemmove; |
198 |
using ::wmemset; |
199 |
using ::wcsftime; |
200 |
using ::btowc; |
201 |
using ::wctob; |
202 |
using ::mbsinit; |
203 |
using ::mbrlen; |
204 |
using ::mbrtowc; |
205 |
using ::wcrtomb; |
206 |
using ::mbsrtowcs; |
207 |
using ::wcsrtombs; |
208 |
|
209 |
#ifndef _LIBCPP_HAS_NO_STDIN |
210 |
using ::getwchar; |
211 |
#ifndef _LIBCPP_MSVCRT |
212 |
using ::vwscanf; |
213 |
#endif // _LIBCPP_MSVCRT |
214 |
using ::wscanf; |
215 |
#endif |
216 |
|
217 |
#ifndef _LIBCPP_HAS_NO_STDOUT |
218 |
using ::putwchar; |
219 |
using ::vwprintf; |
220 |
using ::wprintf; |
221 |
#endif |
222 |
|
223 |
_LIBCPP_END_NAMESPACE_STD |
224 |
|
225 |
#endif // _LIBCPP_CWCHAR |