OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 16 matching lines...) Expand all Loading... |
27 */ | 27 */ |
28 | 28 |
29 #ifndef WTF_ASCIICType_h | 29 #ifndef WTF_ASCIICType_h |
30 #define WTF_ASCIICType_h | 30 #define WTF_ASCIICType_h |
31 | 31 |
32 #include "wtf/Assertions.h" | 32 #include "wtf/Assertions.h" |
33 #include "wtf/text/Unicode.h" | 33 #include "wtf/text/Unicode.h" |
34 | 34 |
35 // The behavior of many of the functions in the <ctype.h> header is dependent | 35 // The behavior of many of the functions in the <ctype.h> header is dependent |
36 // on the current locale. But in the WebKit project, all uses of those functions | 36 // on the current locale. But in the WebKit project, all uses of those functions |
37 // are in code processing something that's not locale-specific. These equivalent
s | 37 // are in code processing something that's not locale-specific. These |
38 // for some of the <ctype.h> functions are named more explicitly, not dependent | 38 // equivalents for some of the <ctype.h> functions are named more explicitly, |
39 // on the C library locale, and we should also optimize them as needed. | 39 // not dependent on the C library locale, and we should also optimize them as |
| 40 // needed. |
40 | 41 |
41 // All functions return false or leave the character unchanged if passed a chara
cter | 42 // All functions return false or leave the character unchanged if passed a |
42 // that is outside the range 0-7F. So they can be used on Unicode strings or | 43 // character that is outside the range 0-7F. So they can be used on Unicode |
43 // characters if the intent is to do processing only if the character is ASCII. | 44 // strings or characters if the intent is to do processing only if the |
| 45 // character is ASCII. |
44 | 46 |
45 namespace WTF { | 47 namespace WTF { |
46 | 48 |
47 template <typename CharType> | 49 template <typename CharType> |
48 inline bool isASCII(CharType c) { | 50 inline bool isASCII(CharType c) { |
49 return !(c & ~0x7F); | 51 return !(c & ~0x7F); |
50 } | 52 } |
51 | 53 |
52 template <typename CharType> | 54 template <typename CharType> |
53 inline bool isASCIIAlpha(CharType c) { | 55 inline bool isASCIIAlpha(CharType c) { |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 using WTF::isASCIISpace; | 173 using WTF::isASCIISpace; |
172 using WTF::isASCIIUpper; | 174 using WTF::isASCIIUpper; |
173 using WTF::toASCIIHexValue; | 175 using WTF::toASCIIHexValue; |
174 using WTF::toASCIILower; | 176 using WTF::toASCIILower; |
175 using WTF::toASCIIUpper; | 177 using WTF::toASCIIUpper; |
176 using WTF::lowerNibbleToASCIIHexDigit; | 178 using WTF::lowerNibbleToASCIIHexDigit; |
177 using WTF::upperNibbleToASCIIHexDigit; | 179 using WTF::upperNibbleToASCIIHexDigit; |
178 using WTF::isASCIIAlphaCaselessEqual; | 180 using WTF::isASCIIAlphaCaselessEqual; |
179 | 181 |
180 #endif | 182 #endif |
OLD | NEW |