]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/samples/citer/citer.cpp
ICU-62123.0.1.tar.gz
[apple/icu.git] / icuSources / samples / citer / citer.cpp
index cc7fa5cb63984adc02900a56bfa89e8c9164f032..43e5a00a054e22c321b1eae99c13d6cb911bc554 100644 (file)
@@ -1,7 +1,13 @@
 /*
 *******************************************************************************
 *
-*     Copyright (C) 2002-2005, International Business Machines
+*     © 2016 and later: Unicode, Inc. and others.
+*     License & terms of use: http://www.unicode.org/copyright.html#License
+*
+*******************************************************************************
+*******************************************************************************
+*
+*     Copyright (C) 2002-2011, International Business Machines
 *     Corporation and others.    All Rights Reserved.
 *
 *******************************************************************************
 
 static UFILE *out;
 
+using icu::CharacterIterator;
+using icu::StringCharacterIterator;
+using icu::UCharCharacterIterator;
+using icu::UnicodeString;
+
 void printUnicodeString(const UnicodeString &s)
 {
-       u_fprintf(out, "%S", s);
+    u_fprintf(out, "%S", &s);
 }
 
 void printUChar(UChar32 ch)
 {
     if(ch < 127) {
-           u_fprintf(out, "%C", (UChar) ch);
+        u_fprintf(out, "%C", (UChar) ch);
     } else if (ch == CharacterIterator::DONE) {
-            u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
+        u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
     } else {
-           u_fprintf(out, "[%X]", ch);
+        u_fprintf(out, "[%X]", ch);
     }
 }
 
 class Test
 {
 public:
-       void TestUChariter();
-       void TestStringiter();
+    void TestUChariter();
+    void TestStringiter();
 };
 
 void Test::TestUChariter() {
     const char testChars[] = "Now is the time for all good men to come "
-            "to the aid of their country.";
+        "to the aid of their country.";
 
     UnicodeString testString(testChars,"");
     const UChar *testText = testString.getTerminatedBuffer();
 
     UCharCharacterIterator iter(testText, u_strlen(testText));
     UCharCharacterIterator* test2 = (UCharCharacterIterator*)iter.clone();
-    
-       u_fprintf(out, "testText = %s", testChars);
-    
+
+    u_fprintf(out, "testText = %s", testChars);
+
     if (iter != *test2 ) {
-        printf("clone() or equals() failed: Two clones tested unequal\n");
+        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
     }
-    
+
     UnicodeString result1, result2;
     // getting and comparing the text within the iterators
     iter.getText(result1);
     test2->getText(result2);
     if (result1 != result2) {
-            printf("iter.getText() != clone.getText()\n");
+        u_fprintf(out, "iter.getText() != clone.getText()\n");
     } 
-    
+
     u_fprintf(out, "\n");
 
-       // Demonstrates seeking forward using the iterator.
+    // Demonstrates seeking forward using the iterator.
     u_fprintf(out, "Forward  = ");
-    
+
     UChar c = iter.first();
     printUChar(c);    // The first char
     int32_t i = 0;
-    
+
     if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
-        printf("startIndex() or endIndex() failed\n");
+        u_fprintf(out, "startIndex() or endIndex() failed\n");
     }
-    
-    
+
+
     // Testing forward iteration...
     do {
         if (c == CharacterIterator::DONE && i != u_strlen(testText)) {
-            printf("Iterator reached end prematurely");
+            u_fprintf(out, "Iterator reached end prematurely");
         }
         else if (c != testText[i]) {
-            printf("Character mismatch at position %d\n" + i);
+            u_fprintf(out, "Character mismatch at position %d\n" + i);
         }
         if (iter.current() != c) {
-            printf("current() isn't working right");
+            u_fprintf(out, "current() isn't working right");
         }
         if (iter.getIndex() != i) {
-                        printf("getIndex() isn't working right\n");
+            u_fprintf(out, "getIndex() isn't working right\n");
         }
         if (c != CharacterIterator::DONE) {
             c = iter.next();
             i++;
         }
-        
+
         u_fprintf(out, "|");
         printUChar(c);
-                
+
     } while (c != CharacterIterator::DONE);        
-    
+
     delete test2;
     u_fprintf(out, "\n");
 }
@@ -113,20 +124,20 @@ void Test::TestStringiter() {
 
     UnicodeString testString(testChars,"");
     const UChar *testText    = testString.getTerminatedBuffer();
-    
+
     StringCharacterIterator iter(testText, u_strlen(testText));
     StringCharacterIterator* test2 = (StringCharacterIterator*)iter.clone();
-    
+
     if (iter != *test2 ) {
-        printf("clone() or equals() failed: Two clones tested unequal\n");
+        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
     }
-    
+
     UnicodeString result1, result2;
     // getting and comparing the text within the iterators
     iter.getText(result1);
     test2->getText(result2);
     if (result1 != result2) {
-        printf("getText() failed\n");
+        u_fprintf(out, "getText() failed\n");
     }
 
     u_fprintf(out, "Backwards: ");
@@ -138,22 +149,22 @@ void Test::TestStringiter() {
     i--; // already printed out the last char 
 
     if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
-        printf("startIndex() or endIndex() failed\n");
+        u_fprintf(out, "startIndex() or endIndex() failed\n");
     }
-    
+
     // Testing backward iteration over a range...
     do {
         if (c == CharacterIterator::DONE) {
-            printf("Iterator reached end prematurely\n");
+            u_fprintf(out, "Iterator reached end prematurely\n");
         }
         else if (c != testText[i]) {
-            printf("Character mismatch at position %d\n" + i);
+            u_fprintf(out, "Character mismatch at position %d\n", i);
         }
         if (iter.current() != c) {
-            printf("current() isn't working right\n");
+            u_fprintf(out, "current() isn't working right\n");
         }
         if (iter.getIndex() != i) {
-            printf("getIndex() isn't working right [%d should be %d]\n", iter.getIndex(), i);
+            u_fprintf(out, "getIndex() isn't working right [%d should be %d]\n", iter.getIndex(), i);
         }
         if (c != CharacterIterator::DONE) {
             c = iter.previous();
@@ -171,25 +182,25 @@ void Test::TestStringiter() {
 /* Creating and using text boundaries */
 int main( void )
 {
-       UErrorCode status = U_ZERO_ERROR;
+    UErrorCode status = U_ZERO_ERROR;
 
-       out = u_finit(stdout, NULL, NULL);
+    out = u_finit(stdout, NULL, NULL);
 
-       u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");
-    
-       Test t;
+    u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");
 
-       u_fprintf(out, "\n");
-       u_fprintf(out, "Test::TestUCharIter()\n");
+    Test t;
+
+    u_fprintf(out, "\n");
+    u_fprintf(out, "Test::TestUCharIter()\n");
 
-       t.TestUChariter();
+    t.TestUChariter();
 
-       u_fprintf(out, "-----\n");
-       u_fprintf(out, "Test::TestStringchariter()\n");
+    u_fprintf(out, "-----\n");
+    u_fprintf(out, "Test::TestStringchariter()\n");
 
-       t.TestStringiter();
+    t.TestStringiter();
 
-       u_fprintf(out, "-----\n");
+    u_fprintf(out, "-----\n");
 
-       return 0;
+    return 0;
 }