Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / c++ / cwchar @ 13

History | View | Annotate | Download (7.7 KB)

1 13 up20180614
// -*- 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