Main Page   Class Hierarchy   Compound List   File List   Header Files   Sources   Compound Members   File Members  

brkiter.h

00001 /*
00002 *****************************************************************************************
00003 *   Copyright (C) 1997-2000, International Business Machines
00004 *   Corporation and others.  All Rights Reserved.
00005 *****************************************************************************************
00006 *
00007 * File BRKITER.H
00008 *
00009 * Modification History:
00010 *
00011 *   Date        Name        Description
00012 *   02/18/97    aliu        Added typedef for TextCount.  Made DONE const.
00013 *   05/07/97    aliu        Fixed DLL declaration.
00014 *   07/09/97    jfitz       Renamed BreakIterator and interface synced with JDK
00015 *   08/11/98    helena      Sync-up JDK1.2.
00016 *   01/13/2000  helena      Added UErrorCode parameter to createXXXInstance methods.
00017 *****************************************************************************************
00018 */
00019 
00020 #ifndef BRKITER_H
00021 #define BRKITER_H
00022 
00023 
00024 #include "unicode/unistr.h"
00025 #include "unicode/chariter.h"
00026 #include "unicode/locid.h"
00027 
00028 
00029 //class Locale;
00030 
00166 class U_I18N_API BreakIterator {
00167 public:
00168     virtual ~BreakIterator();
00169 
00183     virtual UBool operator==(const BreakIterator&) const = 0;
00184 
00189     UBool operator!=(const BreakIterator& rhs) const { return !operator==(rhs); }
00190 
00196     virtual BreakIterator* clone(void) const = 0;
00197 
00203     virtual UClassID getDynamicClassID(void) const = 0;
00204 
00209     virtual const CharacterIterator& getText(void) const = 0;
00210 
00215     virtual CharacterIterator* createText(void) const = 0;
00216 
00222     virtual void  setText(const UnicodeString* it) = 0;
00223 
00229     virtual void  setText(const UnicodeString &text) = 0;
00230 
00236     virtual void  adoptText(CharacterIterator* it) = 0;
00237 
00243     static const UTextOffset DONE;
00244 
00249     virtual UTextOffset first(void) = 0;
00250 
00255     virtual UTextOffset last(void) = 0;
00256 
00263     virtual UTextOffset previous(void) = 0;
00264 
00271     virtual UTextOffset next(void) = 0;
00272 
00279     virtual UTextOffset current(void) const = 0;
00280 
00289     virtual UTextOffset following(UTextOffset offset) = 0;
00290 
00299     virtual UTextOffset preceding(UTextOffset offset) = 0;
00300  
00307     virtual UBool isBoundary(UTextOffset offset) = 0;
00308 
00318     virtual UTextOffset next(int32_t n) = 0;
00319 
00339     static BreakIterator* createWordInstance(const Locale& where, 
00340                                                    UErrorCode& status);
00341 
00362     static BreakIterator* createLineInstance(const Locale& where, 
00363                                                    UErrorCode& status);
00364 
00383     static BreakIterator* createCharacterInstance(const Locale& where, 
00384                                                         UErrorCode& status);
00385 
00403     static BreakIterator* createSentenceInstance(const Locale& where, 
00404                                                        UErrorCode& status);
00405 
00412     static const Locale* getAvailableLocales(int32_t& count);
00413 
00423     static UnicodeString& getDisplayName(const Locale& objectLocale,
00424                                          const Locale& displayLocale,
00425                                          UnicodeString& name);
00426 
00435     static UnicodeString& getDisplayName(const Locale& objectLocale,
00436                                          UnicodeString& name);
00437 
00438 
00439 
00440 protected:
00441     BreakIterator();
00442 
00443 private:
00448     BreakIterator& operator=(const BreakIterator& other) { return *this; }
00449     BreakIterator (const BreakIterator& other) {}
00450 };
00451 
00452 #endif // _BRKITER
00453 //eof

Generated at Wed Aug 16 16:05:33 2000 for ICU1.6 by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999