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

ubrk.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 1996-2003, International Business Machines Corporation and others. All Rights Reserved.
00003 *****************************************************************************************
00004 */
00005 
00006 #ifndef UBRK_H
00007 #define UBRK_H
00008 
00009 #include "unicode/utypes.h"
00010 #include "unicode/uloc.h"
00011 
00016 #ifndef UBRK_TYPEDEF_UBREAK_ITERATOR
00017 #   define UBRK_TYPEDEF_UBREAK_ITERATOR
00018 
00022     typedef void UBreakIterator;
00023 #endif
00024 
00025 #if !UCONFIG_NO_BREAK_ITERATION
00026 
00027 #include "unicode/parseerr.h"
00028 
00187 typedef enum UBreakIteratorType {
00189   UBRK_CHARACTER,
00191   UBRK_WORD,
00193   UBRK_LINE,
00195   UBRK_SENTENCE,
00204   UBRK_TITLE
00205 } UBreakIteratorType;
00206 
00210 #define UBRK_DONE ((int32_t) -1)
00211 
00212 
00221 typedef enum UWordBreak {
00224     UBRK_WORD_NONE           = 0,
00226     UBRK_WORD_NONE_LIMIT     = 100,
00228     UBRK_WORD_NUMBER         = 100,
00230     UBRK_WORD_NUMBER_LIMIT   = 200,
00233     UBRK_WORD_LETTER         = 200,
00235     UBRK_WORD_LETTER_LIMIT   = 300,
00237     UBRK_WORD_KANA           = 300,
00239     UBRK_WORD_KANA_LIMIT     = 400,
00241     UBRK_WORD_IDEO           = 400,
00243     UBRK_WORD_IDEO_LIMIT     = 500
00244 } UWordBreak;
00245 
00254 typedef enum ULineBreakTag {
00257     UBRK_LINE_SOFT            = 0,
00259     UBRK_LINE_SOFT_LIMIT      = 100,
00261     UBRK_LINE_HARD            = 100,
00263     UBRK_LINE_HARD_LIMIT      = 200
00264 } ULineBreakTag;
00265 
00266 
00267 
00276 typedef enum USentenceBreakTag {
00281     UBRK_SENTENCE_TERM       = 0,
00283     UBRK_SENTENCE_TERM_LIMIT = 100,
00288     UBRK_SENTENCE_SEP        = 100,
00290     UBRK_SENTENCE_SEP_LIMIT  = 200
00292 } USentenceBreakTag;
00293 
00294 
00309 U_CAPI UBreakIterator* U_EXPORT2
00310 ubrk_open(UBreakIteratorType type,
00311       const char *locale,
00312       const UChar *text,
00313       int32_t textLength,
00314       UErrorCode *status);
00315 
00331 U_CAPI UBreakIterator* U_EXPORT2
00332 ubrk_openRules(const UChar     *rules,
00333                int32_t         rulesLength,
00334                const UChar     *text,
00335                int32_t          textLength,
00336                UParseError     *parseErr,
00337                UErrorCode      *status);
00338 
00355 U_CAPI UBreakIterator * U_EXPORT2
00356 ubrk_safeClone(
00357           const UBreakIterator *bi,
00358           void *stackBuffer,
00359           int32_t *pBufferSize,
00360           UErrorCode *status);
00361 
00366 #define U_BRK_SAFECLONE_BUFFERSIZE 512
00367 
00374 U_CAPI void U_EXPORT2
00375 ubrk_close(UBreakIterator *bi);
00376 
00385 U_CAPI void U_EXPORT2
00386 ubrk_setText(UBreakIterator* bi,
00387              const UChar*    text,
00388              int32_t         textLength,
00389              UErrorCode*     status);
00390 
00399 U_CAPI int32_t U_EXPORT2
00400 ubrk_current(const UBreakIterator *bi);
00401 
00411 U_CAPI int32_t U_EXPORT2
00412 ubrk_next(UBreakIterator *bi);
00413 
00423 U_CAPI int32_t U_EXPORT2
00424 ubrk_previous(UBreakIterator *bi);
00425 
00434 U_CAPI int32_t U_EXPORT2
00435 ubrk_first(UBreakIterator *bi);
00436 
00447 U_CAPI int32_t U_EXPORT2
00448 ubrk_last(UBreakIterator *bi);
00449 
00459 U_CAPI int32_t U_EXPORT2
00460 ubrk_preceding(UBreakIterator *bi,
00461            int32_t offset);
00462 
00472 U_CAPI int32_t U_EXPORT2
00473 ubrk_following(UBreakIterator *bi,
00474            int32_t offset);
00475 
00485 U_CAPI const char* U_EXPORT2
00486 ubrk_getAvailable(int32_t index);
00487 
00496 U_CAPI int32_t U_EXPORT2
00497 ubrk_countAvailable(void);
00498 
00499 
00509 U_CAPI  UBool U_EXPORT2
00510 ubrk_isBoundary(UBreakIterator *bi, int32_t offset);
00511 
00521 U_CAPI  int32_t U_EXPORT2
00522 ubrk_getRuleStatus(UBreakIterator *bi);
00523 
00533 U_CAPI const char* U_EXPORT2
00534 ubrk_getLocaleByType(const UBreakIterator *bi, ULocDataLocaleType type, UErrorCode* status);
00535 
00536 
00537 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
00538 
00539 #endif

Generated on Mon Nov 24 14:35:39 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001