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

usearch.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 * 06/28/2001 synwee Creation. 00007 ********************************************************************** 00008 */ 00009 #ifndef USEARCH_H 00010 #define USEARCH_H 00011 00012 #include "unicode/utypes.h" 00013 00014 #if !UCONFIG_NO_COLLATION 00015 00016 #include "unicode/ucol.h" 00017 #include "unicode/ucoleitr.h" 00018 #include "unicode/ubrk.h" 00019 00136 #define USEARCH_DONE -1 00137 00142 struct UStringSearch; 00147 typedef struct UStringSearch UStringSearch; 00148 00152 typedef enum { 00154 USEARCH_OVERLAP, 00159 USEARCH_CANONICAL_MATCH, 00160 USEARCH_ATTRIBUTE_COUNT 00161 } USearchAttribute; 00162 00166 typedef enum { 00168 USEARCH_DEFAULT = -1, 00170 USEARCH_OFF, 00172 USEARCH_ON, 00173 USEARCH_ATTRIBUTE_VALUE_COUNT 00174 } USearchAttributeValue; 00175 00176 /* open and close ------------------------------------------------------ */ 00177 00200 U_CAPI UStringSearch * U_EXPORT2 usearch_open(const UChar *pattern, 00201 int32_t patternlength, 00202 const UChar *text, 00203 int32_t textlength, 00204 const char *locale, 00205 UBreakIterator *breakiter, 00206 UErrorCode *status); 00207 00230 U_CAPI UStringSearch * U_EXPORT2 usearch_openFromCollator( 00231 const UChar *pattern, 00232 int32_t patternlength, 00233 const UChar *text, 00234 int32_t textlength, 00235 const UCollator *collator, 00236 UBreakIterator *breakiter, 00237 UErrorCode *status); 00238 00245 U_CAPI void U_EXPORT2 usearch_close(UStringSearch *searchiter); 00246 00247 /* get and set methods -------------------------------------------------- */ 00248 00264 U_CAPI void U_EXPORT2 usearch_setOffset(UStringSearch *strsrch, 00265 int32_t position, 00266 UErrorCode *status); 00267 00276 U_CAPI int32_t U_EXPORT2 usearch_getOffset(const UStringSearch *strsrch); 00277 00289 U_CAPI void U_EXPORT2 usearch_setAttribute(UStringSearch *strsrch, 00290 USearchAttribute attribute, 00291 USearchAttributeValue value, 00292 UErrorCode *status); 00293 00302 U_CAPI USearchAttributeValue U_EXPORT2 usearch_getAttribute( 00303 const UStringSearch *strsrch, 00304 USearchAttribute attribute); 00305 00325 U_CAPI int32_t U_EXPORT2 usearch_getMatchedStart( 00326 const UStringSearch *strsrch); 00327 00345 U_CAPI int32_t U_EXPORT2 usearch_getMatchedLength( 00346 const UStringSearch *strsrch); 00347 00373 U_CAPI int32_t U_EXPORT2 usearch_getMatchedText(const UStringSearch *strsrch, 00374 UChar *result, 00375 int32_t resultCapacity, 00376 UErrorCode *status); 00377 00378 #if !UCONFIG_NO_BREAK_ITERATION 00379 00395 U_CAPI void U_EXPORT2 usearch_setBreakIterator(UStringSearch *strsrch, 00396 UBreakIterator *breakiter, 00397 UErrorCode *status); 00398 00410 U_CAPI const UBreakIterator * U_EXPORT2 usearch_getBreakIterator( 00411 const UStringSearch *strsrch); 00412 00413 #endif 00414 00428 U_CAPI void U_EXPORT2 usearch_setText( UStringSearch *strsrch, 00429 const UChar *text, 00430 int32_t textlength, 00431 UErrorCode *status); 00432 00441 U_CAPI const UChar * U_EXPORT2 usearch_getText(const UStringSearch *strsrch, 00442 int32_t *length); 00443 00454 U_CAPI UCollator * U_EXPORT2 usearch_getCollator( 00455 const UStringSearch *strsrch); 00456 00467 U_CAPI void U_EXPORT2 usearch_setCollator( UStringSearch *strsrch, 00468 const UCollator *collator, 00469 UErrorCode *status); 00470 00483 U_CAPI void U_EXPORT2 usearch_setPattern( UStringSearch *strsrch, 00484 const UChar *pattern, 00485 int32_t patternlength, 00486 UErrorCode *status); 00487 00496 U_CAPI const UChar * U_EXPORT2 usearch_getPattern( 00497 const UStringSearch *strsrch, 00498 int32_t *length); 00499 00500 /* methods ------------------------------------------------------------- */ 00501 00517 U_CAPI int32_t U_EXPORT2 usearch_first(UStringSearch *strsrch, 00518 UErrorCode *status); 00519 00541 U_CAPI int32_t U_EXPORT2 usearch_following(UStringSearch *strsrch, 00542 int32_t position, 00543 UErrorCode *status); 00544 00560 U_CAPI int32_t U_EXPORT2 usearch_last(UStringSearch *strsrch, 00561 UErrorCode *status); 00562 00583 U_CAPI int32_t U_EXPORT2 usearch_preceding(UStringSearch *strsrch, 00584 int32_t position, 00585 UErrorCode *status); 00586 00604 U_CAPI int32_t U_EXPORT2 usearch_next(UStringSearch *strsrch, 00605 UErrorCode *status); 00606 00624 U_CAPI int32_t U_EXPORT2 usearch_previous(UStringSearch *strsrch, 00625 UErrorCode *status); 00626 00637 U_CAPI void U_EXPORT2 usearch_reset(UStringSearch *strsrch); 00638 00639 #endif /* #if !UCONFIG_NO_COLLATION */ 00640 00641 #endif

Generated on Wed Jul 28 09:15:54 2004 for ICU 2.8 by doxygen 1.3.7