Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

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 
00120 class U_I18N_API StringSearch : public SearchIterator
00121 {
00122 public:
00123 
00124     // public constructors and destructors --------------------------------
00125 
00147     StringSearch(const UnicodeString &pattern, const UnicodeString &text,
00148                  const Locale        &locale,       
00149                        BreakIterator *breakiter,
00150                        UErrorCode    &status);
00151 
00173     StringSearch(const UnicodeString     &pattern, 
00174                  const UnicodeString     &text,
00175                        RuleBasedCollator *coll,       
00176                        BreakIterator     *breakiter,
00177                        UErrorCode        &status);
00178 
00204     StringSearch(const UnicodeString &pattern, CharacterIterator &text,
00205                  const Locale        &locale, 
00206                        BreakIterator *breakiter,
00207                        UErrorCode    &status);
00208 
00234     StringSearch(const UnicodeString     &pattern, CharacterIterator &text,
00235                        RuleBasedCollator *coll, 
00236                        BreakIterator     *breakiter,
00237                        UErrorCode        &status);
00238 
00245     StringSearch(const StringSearch &that);
00246 
00252     virtual ~StringSearch(void);
00253 
00254     // operator overloading ---------------------------------------------
00255 
00262     StringSearch & operator=(const StringSearch &that);
00263 
00272     virtual UBool operator==(const SearchIterator &that) const;
00273 
00274     // public get and set methods ----------------------------------------
00275 
00287     virtual void setOffset(UTextOffset position, UErrorCode &status);
00288 
00297     virtual UTextOffset getOffset(void) const;
00298 
00310     virtual void setText(const UnicodeString &text, UErrorCode &status);
00311     
00326     virtual void setText(CharacterIterator &text, UErrorCode &status);
00327 
00337     RuleBasedCollator * getCollator() const;
00338     
00349     void setCollator(RuleBasedCollator *coll, UErrorCode &status);
00350     
00360     void setPattern(const UnicodeString &pattern, UErrorCode &status);
00361     
00367     const UnicodeString & getPattern() const;
00368 
00369     // public methods ----------------------------------------------------
00370 
00379     virtual void reset();
00380 
00389     virtual SearchIterator * safeClone(void) const;
00390     
00391 protected:
00392 
00393     // protected method -------------------------------------------------
00394 
00416     virtual UTextOffset handleNext(UTextOffset position, UErrorCode &status);
00417 
00439     virtual UTextOffset handlePrev(UTextOffset position, UErrorCode &status);
00440     
00441 private :
00442 
00443     // private data members ----------------------------------------------
00444 
00448     RuleBasedCollator  m_collator_;
00452     UnicodeString      m_pattern_;
00456     UnicodeString      m_collation_rules_;
00460     UStringSearch     *m_strsrch_;
00461 };
00462 
00463 U_NAMESPACE_END
00464 
00465 #endif
00466 

Generated on Mon Mar 4 23:12:34 2002 for ICU 2.0 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002