Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

brkiter.h

00001 /* 00002 ***************************************************************************************** 00003 * Copyright (C) 1997-2001, 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 U_NAMESPACE_BEGIN 00030 00180 class U_COMMON_API BreakIterator { 00181 public: 00182 virtual ~BreakIterator(); 00183 00197 virtual UBool operator==(const BreakIterator&) const = 0; 00198 00203 UBool operator!=(const BreakIterator& rhs) const { return !operator==(rhs); } 00204 00210 virtual BreakIterator* clone(void) const = 0; 00211 00217 virtual UClassID getDynamicClassID(void) const = 0; 00218 00223 virtual const CharacterIterator& getText(void) const = 0; 00224 00225 #ifdef ICU_ENABLE_DEPRECATED_BREAKITERATOR 00230 virtual CharacterIterator* createText(void) const = 0; 00231 00237 virtual void setText(const UnicodeString* it) = 0; 00238 #endif 00239 00245 virtual void setText(const UnicodeString &text) = 0; 00246 00252 virtual void adoptText(CharacterIterator* it) = 0; 00253 00259 static const int32_t DONE; 00260 00265 virtual int32_t first(void) = 0; 00266 00271 virtual int32_t last(void) = 0; 00272 00279 virtual int32_t previous(void) = 0; 00280 00287 virtual int32_t next(void) = 0; 00288 00295 virtual int32_t current(void) const = 0; 00296 00305 virtual int32_t following(int32_t offset) = 0; 00306 00315 virtual int32_t preceding(int32_t offset) = 0; 00316 00323 virtual UBool isBoundary(int32_t offset) = 0; 00324 00334 virtual int32_t next(int32_t n) = 0; 00335 00355 static BreakIterator* createWordInstance(const Locale& where, 00356 UErrorCode& status); 00357 00378 static BreakIterator* createLineInstance(const Locale& where, 00379 UErrorCode& status); 00380 00399 static BreakIterator* createCharacterInstance(const Locale& where, 00400 UErrorCode& status); 00401 00419 static BreakIterator* createSentenceInstance(const Locale& where, 00420 UErrorCode& status); 00421 00439 static BreakIterator* createTitleInstance(const Locale& where, 00440 UErrorCode& status); 00441 00448 static const Locale* getAvailableLocales(int32_t& count); 00449 00459 static UnicodeString& getDisplayName(const Locale& objectLocale, 00460 const Locale& displayLocale, 00461 UnicodeString& name); 00462 00471 static UnicodeString& getDisplayName(const Locale& objectLocale, 00472 UnicodeString& name); 00473 00491 virtual BreakIterator * createBufferClone(void *stackBuffer, 00492 int32_t &BufferSize, 00493 UErrorCode &status) = 0; 00494 00495 inline UBool isBufferClone(void); 00496 00497 00498 protected: 00499 BreakIterator(); 00500 UBool fBufferClone; 00501 private: 00506 BreakIterator& operator=(const BreakIterator&) { return *this; } 00507 BreakIterator (const BreakIterator&) {} 00508 }; 00509 00510 inline UBool BreakIterator::isBufferClone() 00511 { 00512 return fBufferClone; 00513 } 00514 00515 U_NAMESPACE_END 00516 00517 #endif // _BRKITER 00518 //eof 00519

Generated on Wed Aug 18 05:18:14 2004 for ICU 2.1 by doxygen 1.3.7