| Index: icu51/source/common/schriter.cpp
|
| ===================================================================
|
| --- icu51/source/common/schriter.cpp (revision 0)
|
| +++ icu51/source/common/schriter.cpp (revision 0)
|
| @@ -0,0 +1,117 @@
|
| +/*
|
| +******************************************************************************
|
| +* Copyright (C) 1998-2012, International Business Machines Corporation and
|
| +* others. All Rights Reserved.
|
| +******************************************************************************
|
| +*
|
| +* File schriter.cpp
|
| +*
|
| +* Modification History:
|
| +*
|
| +* Date Name Description
|
| +* 05/05/99 stephen Cleaned up.
|
| +******************************************************************************
|
| +*/
|
| +
|
| +#include "utypeinfo.h" // for 'typeid' to work
|
| +
|
| +#include "unicode/chariter.h"
|
| +#include "unicode/schriter.h"
|
| +
|
| +U_NAMESPACE_BEGIN
|
| +
|
| +UOBJECT_DEFINE_RTTI_IMPLEMENTATION(StringCharacterIterator)
|
| +
|
| +StringCharacterIterator::StringCharacterIterator()
|
| + : UCharCharacterIterator(),
|
| + text()
|
| +{
|
| + // NEVER DEFAULT CONSTRUCT!
|
| +}
|
| +
|
| +StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr)
|
| + : 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.getBuffer();
|
| +}
|
| +
|
| +StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr,
|
| + int32_t 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.getBuffer();
|
| +}
|
| +
|
| +StringCharacterIterator::StringCharacterIterator(const UnicodeString& textStr,
|
| + int32_t textBegin,
|
| + int32_t textEnd,
|
| + int32_t 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.getBuffer();
|
| +}
|
| +
|
| +StringCharacterIterator::StringCharacterIterator(const StringCharacterIterator& that)
|
| + : UCharCharacterIterator(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.getBuffer();
|
| +}
|
| +
|
| +StringCharacterIterator::~StringCharacterIterator() {
|
| +}
|
| +
|
| +StringCharacterIterator&
|
| +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.getBuffer();
|
| + return *this;
|
| +}
|
| +
|
| +UBool
|
| +StringCharacterIterator::operator==(const ForwardCharacterIterator& that) const {
|
| + if (this == &that) {
|
| + return TRUE;
|
| + }
|
| +
|
| + // do not call UCharCharacterIterator::operator==()
|
| + // because that checks for array pointer equality
|
| + // while we compare UnicodeString objects
|
| +
|
| + if (typeid(*this) != typeid(that)) {
|
| + return FALSE;
|
| + }
|
| +
|
| + StringCharacterIterator& realThat = (StringCharacterIterator&)that;
|
| +
|
| + return text == realThat.text
|
| + && pos == realThat.pos
|
| + && begin == realThat.begin
|
| + && end == realThat.end;
|
| +}
|
| +
|
| +CharacterIterator*
|
| +StringCharacterIterator::clone() const {
|
| + return new StringCharacterIterator(*this);
|
| +}
|
| +
|
| +void
|
| +StringCharacterIterator::setText(const UnicodeString& newText) {
|
| + text = newText;
|
| + UCharCharacterIterator::setText(text.getBuffer(), text.length());
|
| +}
|
| +
|
| +void
|
| +StringCharacterIterator::getText(UnicodeString& result) {
|
| + result = text;
|
| +}
|
| +U_NAMESPACE_END
|
|
|
| Property changes on: icu51/source/common/schriter.cpp
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|