diff options
| author | Lenny222 <github@kudling.de> | 2011-12-22 22:58:38 +0100 |
|---|---|---|
| committer | Lenny222 <github@kudling.de> | 2011-12-22 22:58:38 +0100 |
| commit | d812d06bc8d8f5c655b206838b64b133c83a7975 (patch) | |
| tree | 1cbe58bd5e8274e10563524e5e42d6a9fd274b1d /src/libstd | |
| parent | 47d27af228e574e281184a10f9a98f47ecce32ac (diff) | |
| download | rust-d812d06bc8d8f5c655b206838b64b133c83a7975.tar.gz rust-d812d06bc8d8f5c655b206838b64b133c83a7975.zip | |
std::unicode: add functions, unit test
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/unicode.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/libstd/unicode.rs b/src/libstd/unicode.rs index a3d11cbc55b..fdb275111dc 100644 --- a/src/libstd/unicode.rs +++ b/src/libstd/unicode.rs @@ -152,6 +152,12 @@ mod icu { #[abi = "cdecl"] native mod libicu { pure fn u_hasBinaryProperty(c: UChar32, which: UProperty) -> UBool; + pure fn u_isdigit(c: UChar32) -> UBool; + pure fn u_islower(c: UChar32) -> UBool; + pure fn u_isspace(c: UChar32) -> UBool; + pure fn u_isupper(c: UChar32) -> UBool; + pure fn u_tolower(c: UChar32) -> UChar32; + pure fn u_toupper(c: UChar32) -> UChar32; } } @@ -164,3 +170,40 @@ pure fn is_XID_continue(c: char) -> bool { ret icu::libicu::u_hasBinaryProperty(c, icu::UCHAR_XID_START) == icu::TRUE; } + +/* +Function: is_digit + +Returns true if a character is a digit. +*/ +pure fn is_digit(c: char) -> bool { + ret icu::libicu::u_isdigit(c) == icu::TRUE; +} + +/* +Function: is_lower + +Returns true if a character is a lowercase letter. +*/ +pure fn is_lower(c: char) -> bool { + ret icu::libicu::u_islower(c) == icu::TRUE; +} + +/* +Function: is_space + +Returns true if a character is space. +*/ +pure fn is_space(c: char) -> bool { + ret icu::libicu::u_isspace(c) == icu::TRUE; +} + +/* +Function: is_upper + +Returns true if a character is an uppercase letter. +*/ +pure fn is_upper(c: char) -> bool { + ret icu::libicu::u_isupper(c) == icu::TRUE; +} + |
