]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/schriter.cpp
ICU-59173.0.1.tar.gz
[apple/icu.git] / icuSources / common / schriter.cpp
index 2711651cac719841d2e856c808a4739809fe6d56..f852800aaae6bd7a82ce229e02436e2a5cda87fa 100644 (file)
@@ -1,7 +1,9 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 ******************************************************************************
-* Copyright (C) 1998-2001, International Business Machines Corporation and   *
-* others. All Rights Reserved.                                               *
+* Copyright (C) 1998-2012, International Business Machines Corporation and
+* others. All Rights Reserved.
 ******************************************************************************
 *
 * File schriter.cpp
 ******************************************************************************
 */
 
+#include "utypeinfo.h"  // for 'typeid' to work
+
 #include "unicode/chariter.h"
 #include "unicode/schriter.h"
 
 U_NAMESPACE_BEGIN
 
-const char StringCharacterIterator::fgClassID = 0;
+UOBJECT_DEFINE_RTTI_IMPLEMENTATION(StringCharacterIterator)
 
 StringCharacterIterator::StringCharacterIterator()
   : UCharCharacterIterator(),
@@ -28,31 +32,31 @@ StringCharacterIterator::StringCharacterIterator()
 }
 
 StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr)
-  : UCharCharacterIterator(textStr.fArray, textStr.length()),
+  : UCharCharacterIterator(textStr.getBuffer(), textStr.length()),
     text(textStr)
 {
     // we had set the input parameter's array, now we need to set our copy's array
-    UCharCharacterIterator::text = this->text.fArray;
+    UCharCharacterIterator::text = this->text.getBuffer();
 }
 
 StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr,
                                                  int32_t textPos)
-  : UCharCharacterIterator(textStr.fArray, textStr.length(), textPos),
+  : UCharCharacterIterator(textStr.getBuffer(), textStr.length(), textPos),
     text(textStr)
 {
     // we had set the input parameter's array, now we need to set our copy's array
-    UCharCharacterIterator::text = this->text.fArray;
+    UCharCharacterIterator::text = this->text.getBuffer();
 }
 
 StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr,
                                                  int32_t textBegin,
                                                  int32_t textEnd,
                                                  int32_t textPos)
-  : UCharCharacterIterator(textStr.fArray, textStr.length(), textBegin, textEnd, textPos),
+  : UCharCharacterIterator(textStr.getBuffer(), textStr.length(), textBegin, textEnd, textPos),
     text(textStr)
 {
     // we had set the input parameter's array, now we need to set our copy's array
-    UCharCharacterIterator::text = this->text.fArray;
+    UCharCharacterIterator::text = this->text.getBuffer();
 }
 
 StringCharacterIterator::StringCharacterIterator(const StringCharacterIterator& that)
@@ -60,7 +64,7 @@ StringCharacterIterator::StringCharacterIterator(const StringCharacterIterator&
     text(that.text)
 {
     // we had set the input parameter's array, now we need to set our copy's array
-    UCharCharacterIterator::text = this->text.fArray;
+    UCharCharacterIterator::text = this->text.getBuffer();
 }
 
 StringCharacterIterator::~StringCharacterIterator() {
@@ -71,7 +75,7 @@ StringCharacterIterator::operator=(const StringCharacterIterator& that) {
     UCharCharacterIterator::operator=(that);
     text = that.text;
     // we had set the input parameter's array, now we need to set our copy's array
-    UCharCharacterIterator::text = this->text.fArray;
+    UCharCharacterIterator::text = this->text.getBuffer();
     return *this;
 }
 
@@ -85,7 +89,7 @@ StringCharacterIterator::operator==(const ForwardCharacterIterator& that) const
     // because that checks for array pointer equality
     // while we compare UnicodeString objects
 
-    if (getDynamicClassID() != that.getDynamicClassID()) {
+    if (typeid(*this) != typeid(that)) {
         return FALSE;
     }
 
@@ -105,7 +109,7 @@ StringCharacterIterator::clone() const {
 void
 StringCharacterIterator::setText(const UnicodeString& newText) {
     text = newText;
-    UCharCharacterIterator::setText(text.fArray, text.length());
+    UCharCharacterIterator::setText(text.getBuffer(), text.length());
 }
 
 void