ReactOS  0.4.15-dev-439-g292f67a
ctype.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1999
3  * Silicon Graphics Computer Systems, Inc.
4  *
5  * Copyright (c) 1999
6  * Boris Fomitchev
7  *
8  * This material is provided "as is", with absolutely no warranty expressed
9  * or implied. Any use is at your own risk.
10  *
11  * Permission to use or copy this software for any purpose is hereby granted
12  * without fee, provided the above notices are retained on all copies.
13  * Permission to modify the code and to distribute modified code is granted,
14  * provided the above notices are retained, and a notice that the code was
15  * modified is included with the above copyright notice.
16  *
17  */
18 
19 #include "stlport_prefix.h"
20 
21 #include <algorithm>
22 #include <locale>
23 #include <functional>
24 
25 #include "c_locale.h"
26 
28 
29 //----------------------------------------------------------------------
30 // ctype<char>
31 
32 // The classic table: static data members.
33 
34 #if !defined (_STLP_STATIC_CONST_INIT_BUG) && !defined (_STLP_NO_STATIC_CONST_DEFINITION)
35 //*TY 02/25/2000 - added workaround for MPW compilers; they confuse on in-class static const
36 const size_t ctype<char>::table_size;
37 #endif
38 
39 // This macro is specifically for platforms where isprint() relies
40 // on separate flag
41 
42 const ctype_base::mask*
44  /* Ctype table for the ASCII character set. */
45  static const ctype_base::mask _S_classic_table[table_size] = {
46  cntrl /* null */,
47  cntrl /* ^A */,
48  cntrl /* ^B */,
49  cntrl /* ^C */,
50  cntrl /* ^D */,
51  cntrl /* ^E */,
52  cntrl /* ^F */,
53  cntrl /* ^G */,
54  cntrl /* ^H */,
55  ctype_base::mask(space | cntrl) /* tab */,
56  ctype_base::mask(space | cntrl) /* LF */,
57  ctype_base::mask(space | cntrl) /* ^K */,
58  ctype_base::mask(space | cntrl) /* FF */,
59  ctype_base::mask(space | cntrl) /* ^M */,
60  cntrl /* ^N */,
61  cntrl /* ^O */,
62  cntrl /* ^P */,
63  cntrl /* ^Q */,
64  cntrl /* ^R */,
65  cntrl /* ^S */,
66  cntrl /* ^T */,
67  cntrl /* ^U */,
68  cntrl /* ^V */,
69  cntrl /* ^W */,
70  cntrl /* ^X */,
71  cntrl /* ^Y */,
72  cntrl /* ^Z */,
73  cntrl /* esc */,
74  cntrl /* ^\ */,
75  cntrl /* ^] */,
76  cntrl /* ^^ */,
77  cntrl /* ^_ */,
78  ctype_base::mask(space | print) /* */,
79  ctype_base::mask(punct | print) /* ! */,
80  ctype_base::mask(punct | print) /* " */,
81  ctype_base::mask(punct | print) /* # */,
82  ctype_base::mask(punct | print) /* $ */,
83  ctype_base::mask(punct | print) /* % */,
84  ctype_base::mask(punct | print) /* & */,
85  ctype_base::mask(punct | print) /* ' */,
86  ctype_base::mask(punct | print) /* ( */,
87  ctype_base::mask(punct | print) /* ) */,
88  ctype_base::mask(punct | print) /* * */,
89  ctype_base::mask(punct | print) /* + */,
90  ctype_base::mask(punct | print) /* , */,
91  ctype_base::mask(punct | print) /* - */,
92  ctype_base::mask(punct | print) /* . */,
93  ctype_base::mask(punct | print) /* / */,
94  ctype_base::mask(digit | print | xdigit) /* 0 */,
95  ctype_base::mask(digit | print | xdigit) /* 1 */,
96  ctype_base::mask(digit | print | xdigit) /* 2 */,
97  ctype_base::mask(digit | print | xdigit) /* 3 */,
98  ctype_base::mask(digit | print | xdigit) /* 4 */,
99  ctype_base::mask(digit | print | xdigit) /* 5 */,
100  ctype_base::mask(digit | print | xdigit) /* 6 */,
101  ctype_base::mask(digit | print | xdigit) /* 7 */,
102  ctype_base::mask(digit | print | xdigit) /* 8 */,
103  ctype_base::mask(digit | print | xdigit) /* 9 */,
104  ctype_base::mask(punct | print) /* : */,
105  ctype_base::mask(punct | print) /* ; */,
106  ctype_base::mask(punct | print) /* < */,
107  ctype_base::mask(punct | print) /* = */,
108  ctype_base::mask(punct | print) /* > */,
109  ctype_base::mask(punct | print) /* ? */,
110  ctype_base::mask(punct | print) /* ! */,
111  ctype_base::mask(alpha | print | upper | xdigit) /* A */,
112  ctype_base::mask(alpha | print | upper | xdigit) /* B */,
113  ctype_base::mask(alpha | print | upper | xdigit) /* C */,
114  ctype_base::mask(alpha | print | upper | xdigit) /* D */,
115  ctype_base::mask(alpha | print | upper | xdigit) /* E */,
116  ctype_base::mask(alpha | print | upper | xdigit) /* F */,
117  ctype_base::mask(alpha | print | upper) /* G */,
118  ctype_base::mask(alpha | print | upper) /* H */,
119  ctype_base::mask(alpha | print | upper) /* I */,
120  ctype_base::mask(alpha | print | upper) /* J */,
121  ctype_base::mask(alpha | print | upper) /* K */,
122  ctype_base::mask(alpha | print | upper) /* L */,
123  ctype_base::mask(alpha | print | upper) /* M */,
124  ctype_base::mask(alpha | print | upper) /* N */,
125  ctype_base::mask(alpha | print | upper) /* O */,
126  ctype_base::mask(alpha | print | upper) /* P */,
127  ctype_base::mask(alpha | print | upper) /* Q */,
128  ctype_base::mask(alpha | print | upper) /* R */,
129  ctype_base::mask(alpha | print | upper) /* S */,
130  ctype_base::mask(alpha | print | upper) /* T */,
131  ctype_base::mask(alpha | print | upper) /* U */,
132  ctype_base::mask(alpha | print | upper) /* V */,
133  ctype_base::mask(alpha | print | upper) /* W */,
134  ctype_base::mask(alpha | print | upper) /* X */,
135  ctype_base::mask(alpha | print | upper) /* Y */,
136  ctype_base::mask(alpha | print | upper) /* Z */,
137  ctype_base::mask(punct | print) /* [ */,
138  ctype_base::mask(punct | print) /* \ */,
139  ctype_base::mask(punct | print) /* ] */,
140  ctype_base::mask(punct | print) /* ^ */,
141  ctype_base::mask(punct | print) /* _ */,
142  ctype_base::mask(punct | print) /* ` */,
143  ctype_base::mask(alpha | print | lower | xdigit) /* a */,
144  ctype_base::mask(alpha | print | lower | xdigit) /* b */,
145  ctype_base::mask(alpha | print | lower | xdigit) /* c */,
146  ctype_base::mask(alpha | print | lower | xdigit) /* d */,
147  ctype_base::mask(alpha | print | lower | xdigit) /* e */,
148  ctype_base::mask(alpha | print | lower | xdigit) /* f */,
149  ctype_base::mask(alpha | print | lower) /* g */,
150  ctype_base::mask(alpha | print | lower) /* h */,
151  ctype_base::mask(alpha | print | lower) /* i */,
152  ctype_base::mask(alpha | print | lower) /* j */,
153  ctype_base::mask(alpha | print | lower) /* k */,
154  ctype_base::mask(alpha | print | lower) /* l */,
155  ctype_base::mask(alpha | print | lower) /* m */,
156  ctype_base::mask(alpha | print | lower) /* n */,
157  ctype_base::mask(alpha | print | lower) /* o */,
158  ctype_base::mask(alpha | print | lower) /* p */,
159  ctype_base::mask(alpha | print | lower) /* q */,
160  ctype_base::mask(alpha | print | lower) /* r */,
161  ctype_base::mask(alpha | print | lower) /* s */,
162  ctype_base::mask(alpha | print | lower) /* t */,
163  ctype_base::mask(alpha | print | lower) /* u */,
164  ctype_base::mask(alpha | print | lower) /* v */,
165  ctype_base::mask(alpha | print | lower) /* w */,
166  ctype_base::mask(alpha | print | lower) /* x */,
167  ctype_base::mask(alpha | print | lower) /* y */,
168  ctype_base::mask(alpha | print | lower) /* z */,
169  ctype_base::mask(punct | print) /* { */,
170  ctype_base::mask(punct | print) /* | */,
171  ctype_base::mask(punct | print) /* } */,
172  ctype_base::mask(punct | print) /* ~ */,
173  cntrl /* del (0x7f)*/,
174  /* ASCII is a 7-bit code, so everything else is non-ASCII */
191  };
192  return _S_classic_table;
193 }
194 
195 // For every c in the range 0 <= c < 256, _S_upper[c] is the
196 // uppercased version of c and _S_lower[c] is the lowercased
197 // version. As before, these two tables assume the ASCII character
198 // set.
199 
200 const unsigned char _S_upper[ctype<char>::table_size] =
201 {
202  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
203  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
204  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
205  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
206  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
207  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
208  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
209  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
210  0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
211  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
212  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
213  0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
214  0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
215  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
216  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
217  0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
218  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
219  0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
220  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
221  0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
222  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
223  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
224  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
225  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
226  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
227  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
228  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
229  0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
230  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
231  0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
232  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
233  0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
234 };
235 
236 const unsigned char _S_lower[ctype<char>::table_size] =
237 {
238  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
239  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
240  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
241  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
242  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
243  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
244  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
245  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
246  0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
247  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
248  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
249  0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
250  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
251  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
252  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
253  0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
254  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
255  0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
256  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
257  0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
258  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
259  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
260  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
261  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
262  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
263  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
264  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
265  0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
266  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
267  0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
268  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
269  0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
270 };
271 
272 //An helper struct to check wchar_t index without generating warnings
273 //under some compilers (gcc) because of a limited range of value
274 //(when wchar_t is unsigned)
275 template <bool _IsSigned>
277 
278 #if !(defined (__BORLANDC__) && !defined(__linux__)) && \
279  !(defined (__GNUC__) && (defined (__MINGW32__) || defined (__CYGWIN__))) && \
280  !defined (__ICL)
283  static bool in_range(wchar_t c, size_t upperBound) {
284  return c >= 0 && size_t(c) < upperBound;
285  }
286 };
287 #endif
288 
291  static bool in_range(wchar_t c, size_t upperBound) {
292  return size_t(c) < upperBound;
293  }
294 };
295 
296 typedef _WCharIndexT<wchar_t(-1) < 0> _WCharIndex;
297 
298 // Some helper functions used in ctype<>::scan_is and scan_is_not.
299 
300 struct _Ctype_is_mask : public unary_function<char, bool> {
301  ctype_base::mask _Mask;
302  const ctype_base::mask* _M_table;
303 
304  _Ctype_is_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {}
305  bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) != 0; }
306 };
307 
308 struct _Ctype_not_mask : public unary_function<char, bool> {
309  ctype_base::mask _Mask;
310  const ctype_base::mask* _M_table;
311 
312  _Ctype_not_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {}
313  bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) == 0; }
314 };
315 
316 ctype<char>::ctype(const ctype_base::mask * __tab, bool __del, size_t __refs) :
317  locale::facet(__refs),
318  _M_ctype_table(__tab ? __tab : classic_table()),
319  _M_delete(__tab && __del)
320 {}
321 
323  if (_M_delete)
324  delete[] __CONST_CAST(ctype_base::mask *, _M_ctype_table);
325 }
326 
327 const char*
328 #if defined (__DMC__)
330 #endif
331 ctype<char>::scan_is(ctype_base::mask __m, const char* __low, const char* __high) const
332 { return _STLP_STD::find_if(__low, __high, _Ctype_is_mask(__m, _M_ctype_table)); }
333 
334 const char*
335 #if defined (__DMC__)
337 #endif
338 ctype<char>::scan_not(ctype_base::mask __m, const char* __low, const char* __high) const
339 { return _STLP_STD::find_if(__low, __high, _Ctype_not_mask(__m, _M_ctype_table)); }
340 
341 char ctype<char>::do_toupper(char __c) const
342 { return (char) _S_upper[(unsigned char) __c]; }
343 char ctype<char>::do_tolower(char __c) const
344 { return (char) _S_lower[(unsigned char) __c]; }
345 
346 const char* ctype<char>::do_toupper(char* __low, const char* __high) const {
347  for ( ; __low < __high; ++__low)
348  *__low = (char) _S_upper[(unsigned char) *__low];
349  return __high;
350 }
351 const char* ctype<char>::do_tolower(char* __low, const char* __high) const {
352  for ( ; __low < __high; ++__low)
353  *__low = (char) _S_lower[(unsigned char) *__low];
354  return __high;
355 }
356 
357 char
358 ctype<char>::do_widen(char __c) const { return __c; }
359 
360 const char*
361 ctype<char>::do_widen(const char* __low, const char* __high,
362  char* __to) const {
363  _STLP_PRIV __copy_trivial(__low, __high, __to);
364  return __high;
365 }
366 char
367 ctype<char>::do_narrow(char __c, char /* dfault */ ) const { return __c; }
368 const char*
369 ctype<char>::do_narrow(const char* __low, const char* __high,
370  char /* dfault */, char* __to) const {
371  _STLP_PRIV __copy_trivial(__low, __high, __to);
372  return __high;
373 }
374 
375 
376 #if !defined (_STLP_NO_WCHAR_T)
377 
378 struct _Ctype_w_is_mask : public unary_function<wchar_t, bool> {
380  const ctype_base::mask* table;
381 
382  _Ctype_w_is_mask(ctype_base::mask m, const ctype_base::mask* t)
383  : M(m), table(t) {}
384  bool operator()(wchar_t c) const
386 };
387 
388 //----------------------------------------------------------------------
389 // ctype<wchar_t>
390 
392 
393 
394 bool ctype<wchar_t>::do_is(ctype_base::mask m, wchar_t c) const {
397 }
398 
399 const wchar_t* ctype<wchar_t>::do_is(const wchar_t* low, const wchar_t* high,
400  ctype_base::mask * vec) const {
401  // boris : not clear if this is the right thing to do...
403  wchar_t c;
404  for ( ; low < high; ++low, ++vec) {
405  c = *low;
407  }
408  return high;
409 }
410 
411 const wchar_t*
413  const wchar_t* low, const wchar_t* high) const {
414  return find_if(low, high, _Ctype_w_is_mask(m, ctype<char>::classic_table()));
415 }
416 
417 
418 const wchar_t*
420  const wchar_t* low, const wchar_t* high) const {
421  return find_if(low, high, not1(_Ctype_w_is_mask(m, ctype<char>::classic_table())));
422 }
423 
424 wchar_t ctype<wchar_t>::do_toupper(wchar_t c) const {
426  : c;
427 }
428 
429 const wchar_t*
430 ctype<wchar_t>::do_toupper(wchar_t* low, const wchar_t* high) const {
431  for ( ; low < high; ++low) {
432  wchar_t c = *low;
434  : c;
435  }
436  return high;
437 }
438 
439 wchar_t ctype<wchar_t>::do_tolower(wchar_t c) const {
441  : c;
442 }
443 
444 const wchar_t*
445 ctype<wchar_t>::do_tolower(wchar_t* low, const wchar_t* high) const {
446  for ( ; low < high; ++low) {
447  wchar_t c = *low;
449  : c;
450  }
451  return high;
452 }
453 
454 wchar_t ctype<wchar_t>::do_widen(char c) const {
455  return (wchar_t)(unsigned char)c;
456 }
457 
458 const char*
459 ctype<wchar_t>::do_widen(const char* low, const char* high,
460  wchar_t* dest) const {
461  while (low != high)
462  *dest++ = (wchar_t)(unsigned char)*low++;
463  return high;
464 }
465 
466 char ctype<wchar_t>::do_narrow(wchar_t c, char dfault) const
467 { return (unsigned char)c == c ? (char)c : dfault; }
468 
469 const wchar_t* ctype<wchar_t>::do_narrow(const wchar_t* low,
470  const wchar_t* high,
471  char dfault, char* dest) const {
472  while (low != high) {
473  wchar_t c = *low++;
474  *dest++ = (unsigned char)c == c ? (char)c : dfault;
475  }
476 
477  return high;
478 }
479 
480 # endif
482 
483 // Local Variables:
484 // mode:C++
485 // End:
486 
#define M(row, col)
const unsigned char _S_upper[ctype< char >::table_size]
Definition: ctype.cpp:200
static bool in_range(wchar_t c, size_t upperBound)
Definition: ctype.cpp:291
#define in_range(c, lo, up)
Definition: ip_addr.c:114
GLdouble GLdouble t
Definition: gl.h:2047
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: glext.h:5644
const unsigned char _S_lower[ctype< char >::table_size]
Definition: ctype.cpp:236
const GLfloat * m
Definition: glext.h:10848
#define __c
Definition: schilyio.h:209
_STLP_MOVE_TO_STD_NAMESPACE _InputIter find_if(_InputIter __first, _InputIter __last, _Predicate __pred)
Definition: _algobase.c:214
#define true
Definition: osdep.h:36
Definition: _locale.h:75
unsigned char
Definition: typeof.h:29
#define false
Definition: osdep.h:35
__kernel_size_t size_t
Definition: linux.h:237
Definition: _ctype.h:58
const GLubyte * c
Definition: glext.h:8905
unary_negate< _Predicate > not1(const _Predicate &__pred)
Definition: _function.h:154
FT_Vector * vec
Definition: ftbbox.c:448
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DECLSPEC
Definition: features.h:982
#define _STLP_TEMPLATE_NULL
Definition: features.h:652
static void print(LPPRINTDLGW pd, LPWSTR wszFileName)
Definition: print.c:440
#define __CONST_CAST(__x, __y)
Definition: features.h:584
#define _STLP_END_NAMESPACE
Definition: features.h:503
void * __copy_trivial(const void *__first, const void *__last, void *__result)
Definition: _algobase.h:222
GLclampf GLclampf GLclampf alpha
Definition: gl.h:1740
#define c
Definition: ke_i.h:80
#define wchar_t
Definition: wchar.h:102
#define _STLP_BEGIN_NAMESPACE
Definition: features.h:501
static char * dest
Definition: rtl.c:135
#define _STLP_NOTHROW
Definition: _intel.h:35
static bool in_range(wchar_t c, size_t upperBound)
Definition: ctype.cpp:283
LOCAL int table_size
Definition: write.c:65