Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

stsearch.h

Go to the documentation of this file.
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 Mon Nov 24 14:35:37 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001