Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

stsearch.h

00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 2001 IBM and others. All rights reserved. 00004 ********************************************************************** 00005 * Date Name Description 00006 * 03/22/2000 helena Creation. 00007 ********************************************************************** 00008 */ 00009 00010 #ifndef STSEARCH_H 00011 #define STSEARCH_H 00012 00013 #include "unicode/tblcoll.h" 00014 #include "unicode/coleitr.h" 00015 #include "unicode/search.h" 00016 00017 U_NAMESPACE_BEGIN 00018 00123 class U_I18N_API StringSearch : public SearchIterator 00124 { 00125 public: 00126 00127 // public constructors and destructors -------------------------------- 00128 00150 StringSearch(const UnicodeString &pattern, const UnicodeString &text, 00151 const Locale &locale, 00152 BreakIterator *breakiter, 00153 UErrorCode &status); 00154 00176 StringSearch(const UnicodeString &pattern, 00177 const UnicodeString &text, 00178 RuleBasedCollator *coll, 00179 BreakIterator *breakiter, 00180 UErrorCode &status); 00181 00207 StringSearch(const UnicodeString &pattern, CharacterIterator &text, 00208 const Locale &locale, 00209 BreakIterator *breakiter, 00210 UErrorCode &status); 00211 00237 StringSearch(const UnicodeString &pattern, CharacterIterator &text, 00238 RuleBasedCollator *coll, 00239 BreakIterator *breakiter, 00240 UErrorCode &status); 00241 00248 StringSearch(const StringSearch &that); 00249 00255 virtual ~StringSearch(void); 00256 00257 // operator overloading --------------------------------------------- 00258 00265 StringSearch & operator=(const StringSearch &that); 00266 00275 virtual UBool operator==(const SearchIterator &that) const; 00276 00277 // public get and set methods ---------------------------------------- 00278 00290 virtual void setOffset(int32_t position, UErrorCode &status); 00291 00300 virtual int32_t getOffset(void) const; 00301 00313 virtual void setText(const UnicodeString &text, UErrorCode &status); 00314 00329 virtual void setText(CharacterIterator &text, UErrorCode &status); 00330 00340 RuleBasedCollator * getCollator() const; 00341 00352 void setCollator(RuleBasedCollator *coll, UErrorCode &status); 00353 00363 void setPattern(const UnicodeString &pattern, UErrorCode &status); 00364 00370 const UnicodeString & getPattern() const; 00371 00372 // public methods ---------------------------------------------------- 00373 00382 virtual void reset(); 00383 00392 virtual SearchIterator * safeClone(void) const; 00393 00394 protected: 00395 00396 // protected method ------------------------------------------------- 00397 00419 virtual int32_t handleNext(int32_t position, UErrorCode &status); 00420 00442 virtual int32_t handlePrev(int32_t position, UErrorCode &status); 00443 00444 private : 00445 00446 // private data members ---------------------------------------------- 00447 00451 RuleBasedCollator m_collator_; 00455 UnicodeString m_pattern_; 00459 UnicodeString m_collation_rules_; 00463 UStringSearch *m_strsrch_; 00464 }; 00465 00466 U_NAMESPACE_END 00467 00468 #endif 00469

Generated on Fri Aug 13 09:53:50 2004 for ICU 2.1 by doxygen 1.3.7