X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..277af7082f210d5fa7e37ce63392ac8568371616:/icuSources/common/schriter.cpp diff --git a/icuSources/common/schriter.cpp b/icuSources/common/schriter.cpp index 2711651c..17ce4001 100644 --- a/icuSources/common/schriter.cpp +++ b/icuSources/common/schriter.cpp @@ -1,7 +1,7 @@ /* ****************************************************************************** -* 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 @@ -13,12 +13,14 @@ ****************************************************************************** */ +#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 +30,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 +62,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 +73,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 +87,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 +107,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