summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorLenny222 <github@kudling.de>2011-12-22 22:58:38 +0100
committerLenny222 <github@kudling.de>2011-12-22 22:58:38 +0100
commitd812d06bc8d8f5c655b206838b64b133c83a7975 (patch)
tree1cbe58bd5e8274e10563524e5e42d6a9fd274b1d /src/libstd
parent47d27af228e574e281184a10f9a98f47ecce32ac (diff)
downloadrust-d812d06bc8d8f5c655b206838b64b133c83a7975.tar.gz
rust-d812d06bc8d8f5c655b206838b64b133c83a7975.zip
std::unicode: add functions, unit test
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/unicode.rs43
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;
+}
+