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

brkiter.h

Go to the documentation of this file.
00001 /*
00002 *****************************************************************************************
00003 *   Copyright (C) 1997-2002, 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 #include "unicode/utypes.h"
00024 #include "unicode/uobject.h"
00025 #include "unicode/unistr.h"
00026 #include "unicode/chariter.h"
00027 #include "unicode/locid.h"
00028 #include "unicode/ubrk.h"
00029 
00030 
00031 U_NAMESPACE_BEGIN
00032 
00182 class U_COMMON_API BreakIterator : public UObject {
00183 public:
00184     virtual ~BreakIterator();
00185 
00199     virtual UBool operator==(const BreakIterator&) const = 0;
00200 
00207     UBool operator!=(const BreakIterator& rhs) const { return !operator==(rhs); }
00208 
00214     virtual BreakIterator* clone(void) const = 0;
00215 
00221     virtual UClassID getDynamicClassID(void) const = 0;
00222 
00229     virtual const CharacterIterator& getText(void) const = 0;
00230 
00237     virtual void  setText(const UnicodeString &text) = 0;
00238 
00245     virtual void  adoptText(CharacterIterator* it) = 0;
00246 
00252     static const int32_t DONE;
00253 
00258     virtual int32_t first(void) = 0;
00259 
00264     virtual int32_t last(void) = 0;
00265 
00272     virtual int32_t previous(void) = 0;
00273 
00280     virtual int32_t next(void) = 0;
00281 
00287     virtual int32_t current(void) const = 0;
00288 
00297     virtual int32_t following(int32_t offset) = 0;
00298 
00307     virtual int32_t preceding(int32_t offset) = 0;
00308 
00317     virtual UBool isBoundary(int32_t offset) = 0;
00318 
00328     virtual int32_t next(int32_t n) = 0;
00329 
00349     static BreakIterator* createWordInstance(const Locale& where,
00350                                                    UErrorCode& status);
00351 
00373     static BreakIterator* createLineInstance(const Locale& where,
00374                                                    UErrorCode& status);
00375 
00395     static BreakIterator* createCharacterInstance(const Locale& where,
00396                                                         UErrorCode& status);
00397 
00416     static BreakIterator* createSentenceInstance(const Locale& where,
00417                                                        UErrorCode& status);
00418 
00437     static BreakIterator* createTitleInstance(const Locale& where,
00438                                                        UErrorCode& status);
00439 
00446     static const Locale* getAvailableLocales(int32_t& count);
00447 
00457     static UnicodeString& getDisplayName(const Locale& objectLocale,
00458                                          const Locale& displayLocale,
00459                                          UnicodeString& name);
00460 
00469     static UnicodeString& getDisplayName(const Locale& objectLocale,
00470                                          UnicodeString& name);
00471 
00489     virtual BreakIterator *  createBufferClone(void *stackBuffer,
00490                                                int32_t &BufferSize,
00491                                                UErrorCode &status) = 0;
00492 
00499     inline UBool isBufferClone(void);
00500 
00501 
00502 protected:
00503     BreakIterator();
00504     UBool fBufferClone;
00505     BreakIterator (const BreakIterator &other) : UObject(other), fBufferClone(FALSE) {}
00506 private:
00511     BreakIterator& operator=(const BreakIterator&) { return *this; }
00512 };
00513 
00514 inline UBool BreakIterator::isBufferClone()
00515 {
00516     return fBufferClone;
00517 }
00518 
00519 U_NAMESPACE_END
00520 
00521 #endif // _BRKITER
00522 //eof
00523 

Generated on Thu Aug 15 14:13:23 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001