Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | 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 Sun May 22 18:53:55 2005 for ICU 2.1 by  doxygen 1.4.2