Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 1
// -*- C++ -*- forwarding header.
2
 
3
// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library.  This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 2, or (at your option)
9
// any later version.
10
 
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
// GNU General Public License for more details.
15
 
16
// You should have received a copy of the GNU General Public License along
17
// with this library; see the file COPYING.  If not, write to the Free
18
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19
// USA.
20
 
21
// As a special exception, you may use this file as part of a free software
22
// library without restriction.  Specifically, if other files instantiate
23
// templates or use macros or inline functions from this file, or you compile
24
// this file and link it with other files to produce an executable, this
25
// file does not by itself cause the resulting executable to be covered by
26
// the GNU General Public License.  This exception does not however
27
// invalidate any other reasons why the executable file might be covered by
28
// the GNU General Public License.
29
 
30
//
31
// ISO C++ 14882: ???
32
//
33
 
34
#ifndef _CPP_CWCHAR
35
#define _CPP_CWCHAR 1
36
 
37
#include 
38
#include 
39
 
40
#if _GLIBCPP_HAVE_WCHAR_H
41
#pragma GCC system_header
42
#include_next 
43
#endif
44
 
45
// Need to do a bit of trickery here with mbstate_t as char_traits
46
// assumes it is in wchar.h, regardless of wchar_t specializations.
47
#ifndef _GLIBCPP_HAVE_MBSTATE_T
48
extern "C"
49
{
50
  typedef struct
51
  {
52
    int __fill[6];
53
  } mbstate_t;
54
}
55
#endif
56
 
57
namespace std
58
{
59
  using ::mbstate_t;
60
}
61
 
62
// Get rid of those macros defined in  in lieu of real functions.
63
#undef btowc
64
#undef fgetwc
65
#undef fgetws
66
#undef fputwc
67
#undef fputws
68
#undef fwide
69
#undef fwprintf
70
#undef fwscanf
71
#undef getwc
72
#undef getwchar
73
#undef mbrlen
74
#undef mbrtowc
75
#undef mbsinit
76
#undef mbsrtowcs
77
#undef putwc
78
#undef putwchar
79
#undef swprintf
80
#undef swscanf
81
#undef ungetwc
82
#undef vfwprintf
83
#undef vfwscanf
84
#undef vswprintf
85
#undef vswscanf
86
#undef vwprintf
87
#undef vwscanf
88
#undef wcrtomb
89
#undef wcscat
90
#undef wcschr
91
#undef wcscmp
92
#undef wcscoll
93
#undef wcscpy
94
#undef wcscspn
95
#undef wcsftime
96
#undef wcslen
97
#undef wcsncat
98
#undef wcsncmp
99
#undef wcsncpy
100
#undef wcspbrk
101
#undef wcsrchr
102
#undef wcsrtombs
103
#undef wcsspn
104
#undef wcsstr
105
#undef wcstod
106
#undef wcstof
107
#undef wcstok
108
#undef wcstol
109
#undef wcstoul
110
#undef wcsxfrm
111
#undef wctob
112
#undef wmemchr
113
#undef wmemcmp
114
#undef wmemcpy
115
#undef wmemmove
116
#undef wmemset
117
#undef wprintf
118
#undef wscanf
119
 
120
#if _GLIBCPP_USE_WCHAR_T
121
namespace std
122
{
123
  using ::wint_t;
124
 
125
  using ::btowc;
126
  using ::fgetwc;
127
  using ::fgetws;
128
  using ::fputwc;
129
  using ::fputws;
130
  using ::fwide;
131
  using ::fwprintf;
132
  using ::fwscanf;
133
  using ::getwc;
134
  using ::getwchar;
135
  using ::mbrlen;
136
  using ::mbrtowc;
137
  using ::mbsinit;
138
  using ::mbsrtowcs;
139
  using ::putwc;
140
  using ::putwchar;
141
  using ::swprintf;
142
  using ::swscanf;
143
  using ::ungetwc;
144
  using ::vfwprintf;
145
  using ::vfwscanf;
146
  using ::vswprintf;
147
  using ::vswscanf;
148
  using ::vwprintf;
149
  using ::vwscanf;
150
  using ::wcrtomb;
151
  using ::wcscat;
152
  using ::wcscmp;
153
  using ::wcscoll;
154
  using ::wcscpy;
155
  using ::wcscspn;
156
  using ::wcsftime;
157
  using ::wcslen;
158
  using ::wcsncat;
159
  using ::wcsncmp;
160
  using ::wcsncpy;
161
  using ::wcsrtombs;
162
  using ::wcsspn;
163
  using ::wcstod;
164
  using ::wcstof;
165
  using ::wcstok;
166
  using ::wcstol;
167
  using ::wcstoul;
168
  using ::wcsxfrm;
169
  using ::wctob;
170
  using ::wmemcmp;
171
  using ::wmemcpy;
172
  using ::wmemmove;
173
  using ::wmemset;
174
  using ::wprintf;
175
  using ::wscanf;
176
 
177
  using ::wcschr;
178
 
179
  inline wchar_t*
180
  wcschr(wchar_t* __p, wchar_t __c)
181
  { return wcschr(const_cast(__p), __c); }
182
 
183
  using ::wcspbrk;
184
 
185
  inline wchar_t*
186
  wcspbrk(wchar_t* __s1, wchar_t* __s2)
187
  { return wcspbrk(const_cast(__s1), __s2); }
188
 
189
  using ::wcsrchr;
190
 
191
  inline wchar_t*
192
  wcsrchr(wchar_t* __p, wchar_t __c)
193
  { return wcsrchr(const_cast(__p), __c); }
194
 
195
  using ::wcsstr;
196
 
197
  inline wchar_t*
198
  wcsstr(wchar_t* __s1, wchar_t* __s2)
199
  { return wcsstr(const_cast(__s1), __s2); }
200
 
201
  using ::wmemchr;
202
 
203
  inline wchar_t*
204
  wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
205
  { return wmemchr(const_cast(__p), __c, __n); }
206
}
207
 
208
#if _GLIBCPP_USE_C99
209
 
210
#undef wcstold
211
#undef wcstoll
212
#undef wcstoull
213
 
214
namespace __gnu_cxx
215
{
216
  using ::wcstold;
217
  using ::wcstoll;
218
  using ::wcstoull;
219
}
220
 
221
namespace std
222
{
223
  using __gnu_cxx::wcstold;
224
  using __gnu_cxx::wcstoll;
225
  using __gnu_cxx::wcstoull;
226
}
227
#endif
228
 
229
#endif //_GLIBCPP_USE_WCHAR_T
230
 
231
#endif