Chris@16
|
1 /*
|
Chris@16
|
2 *
|
Chris@16
|
3 * Copyright (c) 1998-2002
|
Chris@16
|
4 * John Maddock
|
Chris@16
|
5 *
|
Chris@16
|
6 * Use, modification and distribution are subject to the
|
Chris@16
|
7 * Boost Software License, Version 1.0. (See accompanying file
|
Chris@16
|
8 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
9 *
|
Chris@16
|
10 */
|
Chris@16
|
11
|
Chris@16
|
12 /*
|
Chris@16
|
13 * LOCATION: see http://www.boost.org for most recent version.
|
Chris@16
|
14 * FILE boost/regex/config/cwchar.hpp
|
Chris@16
|
15 * VERSION see <boost/version.hpp>
|
Chris@16
|
16 * DESCRIPTION: regex wide character string fixes.
|
Chris@16
|
17 */
|
Chris@16
|
18
|
Chris@16
|
19 #ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP
|
Chris@16
|
20 #define BOOST_REGEX_CONFIG_CWCHAR_HPP
|
Chris@16
|
21
|
Chris@16
|
22 #include <cwchar>
|
Chris@16
|
23 #include <cwctype>
|
Chris@16
|
24 #include <boost/config.hpp>
|
Chris@16
|
25
|
Chris@16
|
26 #if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
|
Chris@16
|
27 // apparently this is required for the RW STL on Linux:
|
Chris@16
|
28 #undef iswalnum
|
Chris@16
|
29 #undef iswalpha
|
Chris@16
|
30 #undef iswblank
|
Chris@16
|
31 #undef iswcntrl
|
Chris@16
|
32 #undef iswdigit
|
Chris@16
|
33 #undef iswgraph
|
Chris@16
|
34 #undef iswlower
|
Chris@16
|
35 #undef iswprint
|
Chris@16
|
36 #undef iswprint
|
Chris@16
|
37 #undef iswpunct
|
Chris@16
|
38 #undef iswspace
|
Chris@16
|
39 #undef iswupper
|
Chris@16
|
40 #undef iswxdigit
|
Chris@16
|
41 #undef iswctype
|
Chris@16
|
42 #undef towlower
|
Chris@16
|
43 #undef towupper
|
Chris@16
|
44 #undef towctrans
|
Chris@16
|
45 #undef wctrans
|
Chris@16
|
46 #undef wctype
|
Chris@16
|
47 #endif
|
Chris@16
|
48
|
Chris@16
|
49 namespace std{
|
Chris@16
|
50
|
Chris@16
|
51 #ifndef BOOST_NO_STDC_NAMESPACE
|
Chris@16
|
52 extern "C"{
|
Chris@16
|
53 #endif
|
Chris@16
|
54
|
Chris@16
|
55 #ifdef iswalnum
|
Chris@16
|
56 inline int (iswalnum)(wint_t i)
|
Chris@16
|
57 { return iswalnum(i); }
|
Chris@16
|
58 #undef iswalnum
|
Chris@16
|
59 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
60 using ::iswalnum;
|
Chris@16
|
61 #endif
|
Chris@16
|
62
|
Chris@16
|
63 #ifdef iswalpha
|
Chris@16
|
64 inline int (iswalpha)(wint_t i)
|
Chris@16
|
65 { return iswalpha(i); }
|
Chris@16
|
66 #undef iswalpha
|
Chris@16
|
67 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
68 using ::iswalpha;
|
Chris@16
|
69 #endif
|
Chris@16
|
70
|
Chris@16
|
71 #ifdef iswcntrl
|
Chris@16
|
72 inline int (iswcntrl)(wint_t i)
|
Chris@16
|
73 { return iswcntrl(i); }
|
Chris@16
|
74 #undef iswcntrl
|
Chris@16
|
75 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
76 using ::iswcntrl;
|
Chris@16
|
77 #endif
|
Chris@16
|
78
|
Chris@16
|
79 #ifdef iswdigit
|
Chris@16
|
80 inline int (iswdigit)(wint_t i)
|
Chris@16
|
81 { return iswdigit(i); }
|
Chris@16
|
82 #undef iswdigit
|
Chris@16
|
83 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
84 using ::iswdigit;
|
Chris@16
|
85 #endif
|
Chris@16
|
86
|
Chris@16
|
87 #ifdef iswgraph
|
Chris@16
|
88 inline int (iswgraph)(wint_t i)
|
Chris@16
|
89 { return iswgraph(i); }
|
Chris@16
|
90 #undef iswgraph
|
Chris@16
|
91 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
92 using ::iswgraph;
|
Chris@16
|
93 #endif
|
Chris@16
|
94
|
Chris@16
|
95 #ifdef iswlower
|
Chris@16
|
96 inline int (iswlower)(wint_t i)
|
Chris@16
|
97 { return iswlower(i); }
|
Chris@16
|
98 #undef iswlower
|
Chris@16
|
99 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
100 using ::iswlower;
|
Chris@16
|
101 #endif
|
Chris@16
|
102
|
Chris@16
|
103 #ifdef iswprint
|
Chris@16
|
104 inline int (iswprint)(wint_t i)
|
Chris@16
|
105 { return iswprint(i); }
|
Chris@16
|
106 #undef iswprint
|
Chris@16
|
107 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
108 using ::iswprint;
|
Chris@16
|
109 #endif
|
Chris@16
|
110
|
Chris@16
|
111 #ifdef iswpunct
|
Chris@16
|
112 inline int (iswpunct)(wint_t i)
|
Chris@16
|
113 { return iswpunct(i); }
|
Chris@16
|
114 #undef iswpunct
|
Chris@16
|
115 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
116 using ::iswpunct;
|
Chris@16
|
117 #endif
|
Chris@16
|
118
|
Chris@16
|
119 #ifdef iswspace
|
Chris@16
|
120 inline int (iswspace)(wint_t i)
|
Chris@16
|
121 { return iswspace(i); }
|
Chris@16
|
122 #undef iswspace
|
Chris@16
|
123 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
124 using ::iswspace;
|
Chris@16
|
125 #endif
|
Chris@16
|
126
|
Chris@16
|
127 #ifdef iswupper
|
Chris@16
|
128 inline int (iswupper)(wint_t i)
|
Chris@16
|
129 { return iswupper(i); }
|
Chris@16
|
130 #undef iswupper
|
Chris@16
|
131 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
132 using ::iswupper;
|
Chris@16
|
133 #endif
|
Chris@16
|
134
|
Chris@16
|
135 #ifdef iswxdigit
|
Chris@16
|
136 inline int (iswxdigit)(wint_t i)
|
Chris@16
|
137 { return iswxdigit(i); }
|
Chris@16
|
138 #undef iswxdigit
|
Chris@16
|
139 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
140 using ::iswxdigit;
|
Chris@16
|
141 #endif
|
Chris@16
|
142
|
Chris@16
|
143 #ifdef towlower
|
Chris@16
|
144 inline wint_t (towlower)(wint_t i)
|
Chris@16
|
145 { return towlower(i); }
|
Chris@16
|
146 #undef towlower
|
Chris@16
|
147 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
148 using ::towlower;
|
Chris@16
|
149 #endif
|
Chris@16
|
150
|
Chris@16
|
151 #ifdef towupper
|
Chris@16
|
152 inline wint_t (towupper)(wint_t i)
|
Chris@16
|
153 { return towupper(i); }
|
Chris@16
|
154 #undef towupper
|
Chris@16
|
155 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
156 using :: towupper;
|
Chris@16
|
157 #endif
|
Chris@16
|
158
|
Chris@16
|
159 #ifdef wcscmp
|
Chris@16
|
160 inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)
|
Chris@16
|
161 { return wcscmp(p1,p2); }
|
Chris@16
|
162 #undef wcscmp
|
Chris@16
|
163 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
164 using ::wcscmp;
|
Chris@16
|
165 #endif
|
Chris@16
|
166
|
Chris@16
|
167 #ifdef wcscoll
|
Chris@16
|
168 inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)
|
Chris@16
|
169 { return wcscoll(p1,p2); }
|
Chris@16
|
170 #undef wcscoll
|
Chris@16
|
171 #elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE)
|
Chris@16
|
172 using ::wcscoll;
|
Chris@16
|
173 #endif
|
Chris@16
|
174
|
Chris@16
|
175 #ifdef wcscpy
|
Chris@16
|
176 inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)
|
Chris@16
|
177 { return wcscpy(p1,p2); }
|
Chris@16
|
178 #undef wcscpy
|
Chris@16
|
179 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
180 using ::wcscpy;
|
Chris@16
|
181 #endif
|
Chris@16
|
182
|
Chris@16
|
183 #ifdef wcslen
|
Chris@16
|
184 inline size_t (wcslen)(const wchar_t *p)
|
Chris@16
|
185 { return wcslen(p); }
|
Chris@16
|
186 #undef wcslen
|
Chris@16
|
187 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
188 using ::wcslen;
|
Chris@16
|
189 #endif
|
Chris@16
|
190
|
Chris@16
|
191 #ifdef wcsxfrm
|
Chris@16
|
192 size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)
|
Chris@16
|
193 { return wcsxfrm(p1,p2,s); }
|
Chris@16
|
194 #undef wcsxfrm
|
Chris@16
|
195 #elif defined(BOOST_NO_STDC_NAMESPACE)
|
Chris@16
|
196 using ::wcsxfrm;
|
Chris@16
|
197 #endif
|
Chris@16
|
198
|
Chris@16
|
199
|
Chris@16
|
200 #ifndef BOOST_NO_STDC_NAMESPACE
|
Chris@16
|
201 } // extern "C"
|
Chris@16
|
202 #endif
|
Chris@16
|
203
|
Chris@16
|
204 } // namespace std
|
Chris@16
|
205
|
Chris@16
|
206 #endif
|
Chris@16
|
207
|