3 // Copyright (C) 2002 Free Software Foundation, Inc.
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)
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.
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,
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.
33 #include <testsuite_hooks.h>
35 typedef char char_type
;
36 typedef std::char_traits
<char_type
> traits_type
;
37 class gnu_ctype
: public std::ctype
<char_type
> { };
39 // These two macros take a ctype mask, a string and a pointer within
40 // the string that the scan function should return, usually either the
41 // first or last character if the string contains identical values as
43 #define VERIFY_SCAN_IS(MASK, STRING, EXPECTED) \
44 VERIFY(gctype.scan_is((MASK), (STRING), \
45 (STRING) + traits_type::length(STRING)) == (EXPECTED))
46 #define VERIFY_SCAN_NOT(MASK, STRING, EXPECTED) \
47 VERIFY(gctype.scan_not((MASK), (STRING), \
48 (STRING) + traits_type::length(STRING)) == (EXPECTED))
50 // Sanity check scan_is() and scan_not().
55 const char_type
*const ca
= "aaaaa";
56 const char_type
*const cz
= "zzzzz";
57 const char_type
*const cA
= "AAAAA";
58 const char_type
*const cZ
= "ZZZZZ";
59 const char_type
*const c0
= "00000";
60 const char_type
*const c9
= "99999";
61 const char_type
*const cs
= " ";
62 const char_type
*const xf
= "fffff";
63 const char_type
*const xF
= "FFFFF";
64 const char_type
*const p1
= "!!!!!";
65 const char_type
*const p2
= "/////";
70 VERIFY_SCAN_IS (std::ctype_base::alnum
, ca
, ca
);
71 VERIFY_SCAN_IS (std::ctype_base::alpha
, ca
, ca
);
72 VERIFY_SCAN_IS (std::ctype_base::cntrl
, ca
, ca
+5);
73 VERIFY_SCAN_IS (std::ctype_base::digit
, ca
, ca
+5);
74 VERIFY_SCAN_IS (std::ctype_base::graph
, ca
, ca
);
75 VERIFY_SCAN_IS (std::ctype_base::lower
, ca
, ca
);
76 VERIFY_SCAN_IS (std::ctype_base::print
, ca
, ca
);
77 VERIFY_SCAN_IS (std::ctype_base::punct
, ca
, ca
+5);
78 VERIFY_SCAN_IS (std::ctype_base::space
, ca
, ca
+5);
79 VERIFY_SCAN_IS (std::ctype_base::upper
, ca
, ca
+5);
80 VERIFY_SCAN_IS (std::ctype_base::xdigit
, ca
, ca
);
82 VERIFY_SCAN_NOT (std::ctype_base::alnum
, ca
, ca
+5);
83 VERIFY_SCAN_NOT (std::ctype_base::alpha
, ca
, ca
+5);
84 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, ca
, ca
);
85 VERIFY_SCAN_NOT (std::ctype_base::digit
, ca
, ca
);
86 VERIFY_SCAN_NOT (std::ctype_base::graph
, ca
, ca
+5);
87 VERIFY_SCAN_NOT (std::ctype_base::lower
, ca
, ca
+5);
88 VERIFY_SCAN_NOT (std::ctype_base::print
, ca
, ca
+5);
89 VERIFY_SCAN_NOT (std::ctype_base::punct
, ca
, ca
);
90 VERIFY_SCAN_NOT (std::ctype_base::space
, ca
, ca
);
91 VERIFY_SCAN_NOT (std::ctype_base::upper
, ca
, ca
);
92 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, ca
, ca
+5);
95 VERIFY_SCAN_IS (std::ctype_base::alnum
, cz
, cz
);
96 VERIFY_SCAN_IS (std::ctype_base::alpha
, cz
, cz
);
97 VERIFY_SCAN_IS (std::ctype_base::cntrl
, cz
, cz
+5);
98 VERIFY_SCAN_IS (std::ctype_base::digit
, cz
, cz
+5);
99 VERIFY_SCAN_IS (std::ctype_base::graph
, cz
, cz
);
100 VERIFY_SCAN_IS (std::ctype_base::lower
, cz
, cz
);
101 VERIFY_SCAN_IS (std::ctype_base::print
, cz
, cz
);
102 VERIFY_SCAN_IS (std::ctype_base::punct
, cz
, cz
+5);
103 VERIFY_SCAN_IS (std::ctype_base::space
, cz
, cz
+5);
104 VERIFY_SCAN_IS (std::ctype_base::upper
, cz
, cz
+5);
105 VERIFY_SCAN_IS (std::ctype_base::xdigit
, cz
, cz
+5);
107 VERIFY_SCAN_NOT (std::ctype_base::alnum
, cz
, cz
+5);
108 VERIFY_SCAN_NOT (std::ctype_base::alpha
, cz
, cz
+5);
109 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, cz
, cz
);
110 VERIFY_SCAN_NOT (std::ctype_base::digit
, cz
, cz
);
111 VERIFY_SCAN_NOT (std::ctype_base::graph
, cz
, cz
+5);
112 VERIFY_SCAN_NOT (std::ctype_base::lower
, cz
, cz
+5);
113 VERIFY_SCAN_NOT (std::ctype_base::print
, cz
, cz
+5);
114 VERIFY_SCAN_NOT (std::ctype_base::punct
, cz
, cz
);
115 VERIFY_SCAN_NOT (std::ctype_base::space
, cz
, cz
);
116 VERIFY_SCAN_NOT (std::ctype_base::upper
, cz
, cz
);
117 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, cz
, cz
);
120 VERIFY_SCAN_IS (std::ctype_base::alnum
, cA
, cA
);
121 VERIFY_SCAN_IS (std::ctype_base::alpha
, cA
, cA
);
122 VERIFY_SCAN_IS (std::ctype_base::cntrl
, cA
, cA
+5);
123 VERIFY_SCAN_IS (std::ctype_base::digit
, cA
, cA
+5);
124 VERIFY_SCAN_IS (std::ctype_base::graph
, cA
, cA
);
125 VERIFY_SCAN_IS (std::ctype_base::lower
, cA
, cA
+5);
126 VERIFY_SCAN_IS (std::ctype_base::print
, cA
, cA
);
127 VERIFY_SCAN_IS (std::ctype_base::punct
, cA
, cA
+5);
128 VERIFY_SCAN_IS (std::ctype_base::space
, cA
, cA
+5);
129 VERIFY_SCAN_IS (std::ctype_base::upper
, cA
, cA
);
130 VERIFY_SCAN_IS (std::ctype_base::xdigit
, cA
, cA
);
132 VERIFY_SCAN_NOT (std::ctype_base::alnum
, cA
, cA
+5);
133 VERIFY_SCAN_NOT (std::ctype_base::alpha
, cA
, cA
+5);
134 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, cA
, cA
);
135 VERIFY_SCAN_NOT (std::ctype_base::digit
, cA
, cA
);
136 VERIFY_SCAN_NOT (std::ctype_base::graph
, cA
, cA
+5);
137 VERIFY_SCAN_NOT (std::ctype_base::lower
, cA
, cA
);
138 VERIFY_SCAN_NOT (std::ctype_base::print
, cA
, cA
+5);
139 VERIFY_SCAN_NOT (std::ctype_base::punct
, cA
, cA
);
140 VERIFY_SCAN_NOT (std::ctype_base::space
, cA
, cA
);
141 VERIFY_SCAN_NOT (std::ctype_base::upper
, cA
, cA
+5);
142 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, cA
, cA
+5);
145 VERIFY_SCAN_IS (std::ctype_base::alnum
, cZ
, cZ
);
146 VERIFY_SCAN_IS (std::ctype_base::alpha
, cZ
, cZ
);
147 VERIFY_SCAN_IS (std::ctype_base::cntrl
, cZ
, cZ
+5);
148 VERIFY_SCAN_IS (std::ctype_base::digit
, cZ
, cZ
+5);
149 VERIFY_SCAN_IS (std::ctype_base::graph
, cZ
, cZ
);
150 VERIFY_SCAN_IS (std::ctype_base::lower
, cZ
, cZ
+5);
151 VERIFY_SCAN_IS (std::ctype_base::print
, cZ
, cZ
);
152 VERIFY_SCAN_IS (std::ctype_base::punct
, cZ
, cZ
+5);
153 VERIFY_SCAN_IS (std::ctype_base::space
, cZ
, cZ
+5);
154 VERIFY_SCAN_IS (std::ctype_base::upper
, cZ
, cZ
);
155 VERIFY_SCAN_IS (std::ctype_base::xdigit
, cZ
, cZ
+5);
157 VERIFY_SCAN_NOT (std::ctype_base::alnum
, cZ
, cZ
+5);
158 VERIFY_SCAN_NOT (std::ctype_base::alpha
, cZ
, cZ
+5);
159 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, cZ
, cZ
);
160 VERIFY_SCAN_NOT (std::ctype_base::digit
, cZ
, cZ
);
161 VERIFY_SCAN_NOT (std::ctype_base::graph
, cZ
, cZ
+5);
162 VERIFY_SCAN_NOT (std::ctype_base::lower
, cZ
, cZ
);
163 VERIFY_SCAN_NOT (std::ctype_base::print
, cZ
, cZ
+5);
164 VERIFY_SCAN_NOT (std::ctype_base::punct
, cZ
, cZ
);
165 VERIFY_SCAN_NOT (std::ctype_base::space
, cZ
, cZ
);
166 VERIFY_SCAN_NOT (std::ctype_base::upper
, cZ
, cZ
+5);
167 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, cZ
, cZ
);
170 VERIFY_SCAN_IS (std::ctype_base::alnum
, c0
, c0
);
171 VERIFY_SCAN_IS (std::ctype_base::alpha
, c0
, c0
+5);
172 VERIFY_SCAN_IS (std::ctype_base::cntrl
, c0
, c0
+5);
173 VERIFY_SCAN_IS (std::ctype_base::digit
, c0
, c0
);
174 VERIFY_SCAN_IS (std::ctype_base::graph
, c0
, c0
);
175 VERIFY_SCAN_IS (std::ctype_base::lower
, c0
, c0
+5);
176 VERIFY_SCAN_IS (std::ctype_base::print
, c0
, c0
);
177 VERIFY_SCAN_IS (std::ctype_base::punct
, c0
, c0
+5);
178 VERIFY_SCAN_IS (std::ctype_base::space
, c0
, c0
+5);
179 VERIFY_SCAN_IS (std::ctype_base::upper
, c0
, c0
+5);
180 VERIFY_SCAN_IS (std::ctype_base::xdigit
, c0
, c0
);
182 VERIFY_SCAN_NOT (std::ctype_base::alnum
, c0
, c0
+5);
183 VERIFY_SCAN_NOT (std::ctype_base::alpha
, c0
, c0
);
184 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, c0
, c0
);
185 VERIFY_SCAN_NOT (std::ctype_base::digit
, c0
, c0
+5);
186 VERIFY_SCAN_NOT (std::ctype_base::graph
, c0
, c0
+5);
187 VERIFY_SCAN_NOT (std::ctype_base::lower
, c0
, c0
);
188 VERIFY_SCAN_NOT (std::ctype_base::print
, c0
, c0
+5);
189 VERIFY_SCAN_NOT (std::ctype_base::punct
, c0
, c0
);
190 VERIFY_SCAN_NOT (std::ctype_base::space
, c0
, c0
);
191 VERIFY_SCAN_NOT (std::ctype_base::upper
, c0
, c0
);
192 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, c0
, c0
+5);
195 VERIFY_SCAN_IS (std::ctype_base::alnum
, c9
, c9
);
196 VERIFY_SCAN_IS (std::ctype_base::alpha
, c9
, c9
+5);
197 VERIFY_SCAN_IS (std::ctype_base::cntrl
, c9
, c9
+5);
198 VERIFY_SCAN_IS (std::ctype_base::digit
, c9
, c9
);
199 VERIFY_SCAN_IS (std::ctype_base::graph
, c9
, c9
);
200 VERIFY_SCAN_IS (std::ctype_base::lower
, c9
, c9
+5);
201 VERIFY_SCAN_IS (std::ctype_base::print
, c9
, c9
);
202 VERIFY_SCAN_IS (std::ctype_base::punct
, c9
, c9
+5);
203 VERIFY_SCAN_IS (std::ctype_base::space
, c9
, c9
+5);
204 VERIFY_SCAN_IS (std::ctype_base::upper
, c9
, c9
+5);
205 VERIFY_SCAN_IS (std::ctype_base::xdigit
, c9
, c9
);
207 VERIFY_SCAN_NOT (std::ctype_base::alnum
, c9
, c9
+5);
208 VERIFY_SCAN_NOT (std::ctype_base::alpha
, c9
, c9
);
209 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, c9
, c9
);
210 VERIFY_SCAN_NOT (std::ctype_base::digit
, c9
, c9
+5);
211 VERIFY_SCAN_NOT (std::ctype_base::graph
, c9
, c9
+5);
212 VERIFY_SCAN_NOT (std::ctype_base::lower
, c9
, c9
);
213 VERIFY_SCAN_NOT (std::ctype_base::print
, c9
, c9
+5);
214 VERIFY_SCAN_NOT (std::ctype_base::punct
, c9
, c9
);
215 VERIFY_SCAN_NOT (std::ctype_base::space
, c9
, c9
);
216 VERIFY_SCAN_NOT (std::ctype_base::upper
, c9
, c9
);
217 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, c9
, c9
+5);
220 VERIFY_SCAN_IS (std::ctype_base::alnum
, cs
, cs
+5);
221 VERIFY_SCAN_IS (std::ctype_base::alpha
, cs
, cs
+5);
222 VERIFY_SCAN_IS (std::ctype_base::cntrl
, cs
, cs
+5);
223 VERIFY_SCAN_IS (std::ctype_base::digit
, cs
, cs
+5);
224 VERIFY_SCAN_IS (std::ctype_base::graph
, cs
, cs
+5);
225 VERIFY_SCAN_IS (std::ctype_base::lower
, cs
, cs
+5);
226 VERIFY_SCAN_IS (std::ctype_base::print
, cs
, cs
);
227 VERIFY_SCAN_IS (std::ctype_base::punct
, cs
, cs
+5);
228 VERIFY_SCAN_IS (std::ctype_base::space
, cs
, cs
);
229 VERIFY_SCAN_IS (std::ctype_base::upper
, cs
, cs
+5);
230 VERIFY_SCAN_IS (std::ctype_base::xdigit
, cs
, cs
+5);
232 VERIFY_SCAN_NOT (std::ctype_base::alnum
, cs
, cs
);
233 VERIFY_SCAN_NOT (std::ctype_base::alpha
, cs
, cs
);
234 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, cs
, cs
);
235 VERIFY_SCAN_NOT (std::ctype_base::digit
, cs
, cs
);
236 VERIFY_SCAN_NOT (std::ctype_base::graph
, cs
, cs
);
237 VERIFY_SCAN_NOT (std::ctype_base::lower
, cs
, cs
);
238 VERIFY_SCAN_NOT (std::ctype_base::print
, cs
, cs
+5);
239 VERIFY_SCAN_NOT (std::ctype_base::punct
, cs
, cs
);
240 VERIFY_SCAN_NOT (std::ctype_base::space
, cs
, cs
+5);
241 VERIFY_SCAN_NOT (std::ctype_base::upper
, cs
, cs
);
242 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, cs
, cs
);
245 VERIFY_SCAN_IS (std::ctype_base::alnum
, xf
, xf
);
246 VERIFY_SCAN_IS (std::ctype_base::alpha
, xf
, xf
);
247 VERIFY_SCAN_IS (std::ctype_base::cntrl
, xf
, xf
+5);
248 VERIFY_SCAN_IS (std::ctype_base::digit
, xf
, xf
+5);
249 VERIFY_SCAN_IS (std::ctype_base::graph
, xf
, xf
);
250 VERIFY_SCAN_IS (std::ctype_base::lower
, xf
, xf
);
251 VERIFY_SCAN_IS (std::ctype_base::print
, xf
, xf
);
252 VERIFY_SCAN_IS (std::ctype_base::punct
, xf
, xf
+5);
253 VERIFY_SCAN_IS (std::ctype_base::space
, xf
, xf
+5);
254 VERIFY_SCAN_IS (std::ctype_base::upper
, xf
, xf
+5);
255 VERIFY_SCAN_IS (std::ctype_base::xdigit
, xf
, xf
);
257 VERIFY_SCAN_NOT (std::ctype_base::alnum
, xf
, xf
+5);
258 VERIFY_SCAN_NOT (std::ctype_base::alpha
, xf
, xf
+5);
259 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, xf
, xf
);
260 VERIFY_SCAN_NOT (std::ctype_base::digit
, xf
, xf
);
261 VERIFY_SCAN_NOT (std::ctype_base::graph
, xf
, xf
+5);
262 VERIFY_SCAN_NOT (std::ctype_base::lower
, xf
, xf
+5);
263 VERIFY_SCAN_NOT (std::ctype_base::print
, xf
, xf
+5);
264 VERIFY_SCAN_NOT (std::ctype_base::punct
, xf
, xf
);
265 VERIFY_SCAN_NOT (std::ctype_base::space
, xf
, xf
);
266 VERIFY_SCAN_NOT (std::ctype_base::upper
, xf
, xf
);
267 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, xf
, xf
+5);
270 VERIFY_SCAN_IS (std::ctype_base::alnum
, xF
, xF
);
271 VERIFY_SCAN_IS (std::ctype_base::alpha
, xF
, xF
);
272 VERIFY_SCAN_IS (std::ctype_base::cntrl
, xF
, xF
+5);
273 VERIFY_SCAN_IS (std::ctype_base::digit
, xF
, xF
+5);
274 VERIFY_SCAN_IS (std::ctype_base::graph
, xF
, xF
);
275 VERIFY_SCAN_IS (std::ctype_base::lower
, xF
, xF
+5);
276 VERIFY_SCAN_IS (std::ctype_base::print
, xF
, xF
);
277 VERIFY_SCAN_IS (std::ctype_base::punct
, xF
, xF
+5);
278 VERIFY_SCAN_IS (std::ctype_base::space
, xF
, xF
+5);
279 VERIFY_SCAN_IS (std::ctype_base::upper
, xF
, xF
);
280 VERIFY_SCAN_IS (std::ctype_base::xdigit
, xF
, xF
);
282 VERIFY_SCAN_NOT (std::ctype_base::alnum
, xF
, xF
+5);
283 VERIFY_SCAN_NOT (std::ctype_base::alpha
, xF
, xF
+5);
284 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, xF
, xF
);
285 VERIFY_SCAN_NOT (std::ctype_base::digit
, xF
, xF
);
286 VERIFY_SCAN_NOT (std::ctype_base::graph
, xF
, xF
+5);
287 VERIFY_SCAN_NOT (std::ctype_base::lower
, xF
, xF
);
288 VERIFY_SCAN_NOT (std::ctype_base::print
, xF
, xF
+5);
289 VERIFY_SCAN_NOT (std::ctype_base::punct
, xF
, xF
);
290 VERIFY_SCAN_NOT (std::ctype_base::space
, xF
, xF
);
291 VERIFY_SCAN_NOT (std::ctype_base::upper
, xF
, xF
+5);
292 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, xF
, xF
+5);
295 VERIFY_SCAN_IS (std::ctype_base::alnum
, p1
, p1
+5);
296 VERIFY_SCAN_IS (std::ctype_base::alpha
, p1
, p1
+5);
297 VERIFY_SCAN_IS (std::ctype_base::cntrl
, p1
, p1
+5);
298 VERIFY_SCAN_IS (std::ctype_base::digit
, p1
, p1
+5);
299 VERIFY_SCAN_IS (std::ctype_base::graph
, p1
, p1
);
300 VERIFY_SCAN_IS (std::ctype_base::lower
, p1
, p1
+5);
301 VERIFY_SCAN_IS (std::ctype_base::print
, p1
, p1
);
302 VERIFY_SCAN_IS (std::ctype_base::punct
, p1
, p1
);
303 VERIFY_SCAN_IS (std::ctype_base::space
, p1
, p1
+5);
304 VERIFY_SCAN_IS (std::ctype_base::upper
, p1
, p1
+5);
305 VERIFY_SCAN_IS (std::ctype_base::xdigit
, p1
, p1
+5);
307 VERIFY_SCAN_NOT (std::ctype_base::alnum
, p1
, p1
);
308 VERIFY_SCAN_NOT (std::ctype_base::alpha
, p1
, p1
);
309 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, p1
, p1
);
310 VERIFY_SCAN_NOT (std::ctype_base::digit
, p1
, p1
);
311 VERIFY_SCAN_NOT (std::ctype_base::lower
, p1
, p1
);
312 VERIFY_SCAN_NOT (std::ctype_base::print
, p1
, p1
+5);
313 VERIFY_SCAN_NOT (std::ctype_base::punct
, p1
, p1
+5);
314 VERIFY_SCAN_NOT (std::ctype_base::space
, p1
, p1
);
315 VERIFY_SCAN_NOT (std::ctype_base::upper
, p1
, p1
);
316 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, p1
, p1
);
319 VERIFY_SCAN_IS (std::ctype_base::alnum
, p2
, p2
+5);
320 VERIFY_SCAN_IS (std::ctype_base::alpha
, p2
, p2
+5);
321 VERIFY_SCAN_IS (std::ctype_base::cntrl
, p2
, p2
+5);
322 VERIFY_SCAN_IS (std::ctype_base::digit
, p2
, p2
+5);
323 VERIFY_SCAN_IS (std::ctype_base::graph
, p2
, p2
);
324 VERIFY_SCAN_IS (std::ctype_base::lower
, p2
, p2
+5);
325 VERIFY_SCAN_IS (std::ctype_base::print
, p2
, p2
);
326 VERIFY_SCAN_IS (std::ctype_base::punct
, p2
, p2
);
327 VERIFY_SCAN_IS (std::ctype_base::space
, p2
, p2
+5);
328 VERIFY_SCAN_IS (std::ctype_base::upper
, p2
, p2
+5);
329 VERIFY_SCAN_IS (std::ctype_base::xdigit
, p2
, p2
+5);
331 VERIFY_SCAN_NOT (std::ctype_base::alnum
, p2
, p2
);
332 VERIFY_SCAN_NOT (std::ctype_base::alpha
, p2
, p2
);
333 VERIFY_SCAN_NOT (std::ctype_base::cntrl
, p2
, p2
);
334 VERIFY_SCAN_NOT (std::ctype_base::digit
, p2
, p2
);
335 VERIFY_SCAN_NOT (std::ctype_base::graph
, p2
, p2
+5);
336 VERIFY_SCAN_NOT (std::ctype_base::lower
, p2
, p2
);
337 VERIFY_SCAN_NOT (std::ctype_base::print
, p2
, p2
+5);
338 VERIFY_SCAN_NOT (std::ctype_base::punct
, p2
, p2
+5);
339 VERIFY_SCAN_NOT (std::ctype_base::space
, p2
, p2
);
340 VERIFY_SCAN_NOT (std::ctype_base::upper
, p2
, p2
);
341 VERIFY_SCAN_NOT (std::ctype_base::xdigit
, p2
, p2
);