00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ****************************************************************************** 00005 * 00006 * Copyright (C) 1998-2005, International Business Machines 00007 * Corporation and others. All Rights Reserved. 00008 * 00009 ****************************************************************************** 00010 * 00011 * File schriter.h 00012 * 00013 * Modification History: 00014 * 00015 * Date Name Description 00016 * 05/05/99 stephen Cleaned up. 00017 ****************************************************************************** 00018 */ 00019 00020 #ifndef SCHRITER_H 00021 #define SCHRITER_H 00022 00023 #include "unicode/utypes.h" 00024 00025 #if U_SHOW_CPLUSPLUS_API 00026 00027 #include "unicode/chariter.h" 00028 #include "unicode/uchriter.h" 00029 00035 U_NAMESPACE_BEGIN 00048 class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator { 00049 public: 00057 StringCharacterIterator(const UnicodeString& textStr); 00058 00068 StringCharacterIterator(const UnicodeString& textStr, 00069 int32_t textPos); 00070 00087 StringCharacterIterator(const UnicodeString& textStr, 00088 int32_t textBegin, 00089 int32_t textEnd, 00090 int32_t textPos); 00091 00100 StringCharacterIterator(const StringCharacterIterator& that); 00101 00106 virtual ~StringCharacterIterator(); 00107 00116 StringCharacterIterator& 00117 operator=(const StringCharacterIterator& that); 00118 00127 virtual UBool operator==(const ForwardCharacterIterator& that) const; 00128 00136 virtual StringCharacterIterator* clone() const; 00137 00143 void setText(const UnicodeString& newText); 00144 00152 virtual void getText(UnicodeString& result); 00153 00159 virtual UClassID getDynamicClassID(void) const; 00160 00166 static UClassID U_EXPORT2 getStaticClassID(void); 00167 00168 protected: 00173 StringCharacterIterator(); 00174 00181 void setText(const char16_t* newText, int32_t newTextLength); 00182 00187 UnicodeString text; 00188 00189 }; 00190 00191 U_NAMESPACE_END 00192 00193 #endif /* U_SHOW_CPLUSPLUS_API */ 00194 00195 #endif
1.6.1