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

stsearch.h

00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 2001-2003 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/utypes.h" 00014 00015 #if !UCONFIG_NO_COLLATION 00016 00017 #include "unicode/tblcoll.h" 00018 #include "unicode/coleitr.h" 00019 #include "unicode/search.h" 00020 00021 U_NAMESPACE_BEGIN 00022 00130 class U_I18N_API StringSearch : public SearchIterator 00131 { 00132 public: 00133 00134 // public constructors and destructors -------------------------------- 00135 00157 StringSearch(const UnicodeString &pattern, const UnicodeString &text, 00158 const Locale &locale, 00159 BreakIterator *breakiter, 00160 UErrorCode &status); 00161 00183 StringSearch(const UnicodeString &pattern, 00184 const UnicodeString &text, 00185 RuleBasedCollator *coll, 00186 BreakIterator *breakiter, 00187 UErrorCode &status); 00188 00214 StringSearch(const UnicodeString &pattern, CharacterIterator &text, 00215 const Locale &locale, 00216 BreakIterator *breakiter, 00217 UErrorCode &status); 00218 00244 StringSearch(const UnicodeString &pattern, CharacterIterator &text, 00245 RuleBasedCollator *coll, 00246 BreakIterator *breakiter, 00247 UErrorCode &status); 00248 00255 StringSearch(const StringSearch &that); 00256 00262 virtual ~StringSearch(void); 00263 00275 StringSearch *clone() const; 00276 00277 // operator overloading --------------------------------------------- 00278 00285 StringSearch & operator=(const StringSearch &that); 00286 00295 virtual UBool operator==(const SearchIterator &that) const; 00296 00297 // public get and set methods ---------------------------------------- 00298 00312 virtual void setOffset(int32_t position, UErrorCode &status); 00313 00322 virtual int32_t getOffset(void) const; 00323 00335 virtual void setText(const UnicodeString &text, UErrorCode &status); 00336 00351 virtual void setText(CharacterIterator &text, UErrorCode &status); 00352 00362 RuleBasedCollator * getCollator() const; 00363 00374 void setCollator(RuleBasedCollator *coll, UErrorCode &status); 00375 00385 void setPattern(const UnicodeString &pattern, UErrorCode &status); 00386 00392 const UnicodeString & getPattern() const; 00393 00394 // public methods ---------------------------------------------------- 00395 00404 virtual void reset(); 00405 00414 virtual SearchIterator * safeClone(void) const; 00415 00421 virtual UClassID getDynamicClassID() const; 00422 00428 static UClassID getStaticClassID(); 00429 00430 protected: 00431 00432 // protected method ------------------------------------------------- 00433 00456 virtual int32_t handleNext(int32_t position, UErrorCode &status); 00457 00480 virtual int32_t handlePrev(int32_t position, UErrorCode &status); 00481 00482 private : 00483 StringSearch(); // default constructor not implemented 00484 00485 // private data members ---------------------------------------------- 00486 00491 RuleBasedCollator m_collator_; 00496 UnicodeString m_pattern_; 00501 UnicodeString m_collation_rules_; 00506 UStringSearch *m_strsrch_; 00507 00508 }; 00509 00510 U_NAMESPACE_END 00511 00512 #endif /* #if !UCONFIG_NO_COLLATION */ 00513 00514 #endif 00515

Generated on Wed Jul 28 09:15:54 2004 for ICU 2.8 by doxygen 1.3.7