Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

usearch.h

00001 /*
00002 **********************************************************************
00003 *   Copyright (C) 2001 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 #include "unicode/ucol.h"
00014 #include "unicode/ucoleitr.h"
00015 #include "unicode/ubrk.h"
00016 
00126 #define USEARCH_DONE -1
00127 
00131 struct UStringSearch;
00132 typedef struct UStringSearch UStringSearch;
00133 
00134 typedef enum {
00136     USEARCH_OVERLAP,
00141     USEARCH_CANONICAL_MATCH,
00142     USEARCH_ATTRIBUTE_COUNT
00143 } USearchAttribute;
00144 
00145 typedef enum {
00147     USEARCH_DEFAULT = -1,
00149     USEARCH_OFF, 
00151     USEARCH_ON,
00152     USEARCH_ATTRIBUTE_VALUE_COUNT
00153 } USearchAttributeValue;
00154 
00155 /* open and close ------------------------------------------------------ */
00156 
00179 U_CAPI UStringSearch * U_EXPORT2 usearch_open(const UChar          *pattern, 
00180                                               int32_t         patternlength, 
00181                                         const UChar          *text, 
00182                                               int32_t         textlength,
00183                                         const char           *locale,
00184                                               UBreakIterator *breakiter,
00185                                               UErrorCode     *status);
00186 
00209 U_CAPI UStringSearch * U_EXPORT2 usearch_openFromCollator(
00210                                          const UChar *pattern, 
00211                                                int32_t         patternlength,
00212                                          const UChar          *text, 
00213                                                int32_t         textlength,
00214                                          const UCollator      *collator,
00215                                                UBreakIterator *breakiter,
00216                                                UErrorCode     *status);
00217 
00224 U_CAPI void U_EXPORT2 usearch_close(UStringSearch *strsrch);
00225 
00226 /* get and set methods -------------------------------------------------- */
00227 
00241 U_CAPI void U_EXPORT2 usearch_setOffset(UStringSearch *strsrch, 
00242                                         UTextOffset    position,
00243                                         UErrorCode    *status);
00244 
00252 U_CAPI UTextOffset U_EXPORT2 usearch_getOffset(const UStringSearch *strsrch);
00253     
00265 U_CAPI void U_EXPORT2 usearch_setAttribute(UStringSearch         *strsrch, 
00266                                            USearchAttribute       attribute,
00267                                            USearchAttributeValue  value,
00268                                            UErrorCode            *status);
00269 
00278 U_CAPI USearchAttributeValue U_EXPORT2 usearch_getAttribute(
00279                                          const UStringSearch    *strsrch,
00280                                                USearchAttribute  attribute);
00281 
00296 U_CAPI UTextOffset U_EXPORT2 usearch_getMatchedStart(
00297                                                const UStringSearch *strsrch);
00298     
00311 U_CAPI int32_t U_EXPORT2 usearch_getMatchedLength(
00312                                                const UStringSearch *strsrch);
00313 
00334 U_CAPI int32_t U_EXPORT2 usearch_getMatchedText(const UStringSearch *strsrch, 
00335                                             UChar         *result, 
00336                                             int32_t        resultCapacity, 
00337                                             UErrorCode    *status);
00338 
00354 U_CAPI void U_EXPORT2 usearch_setBreakIterator(UStringSearch  *strsrch, 
00355                                                UBreakIterator *breakiter,
00356                                                UErrorCode     *status);
00357     
00369 U_CAPI const UBreakIterator * U_EXPORT2 usearch_getBreakIterator(
00370                                               const UStringSearch *strsrch);
00371     
00385 U_CAPI void U_EXPORT2 usearch_setText(      UStringSearch *strsrch, 
00386                                       const UChar         *text,
00387                                             int32_t        textlength,
00388                                             UErrorCode    *status);
00389 
00398 U_CAPI const UChar * U_EXPORT2 usearch_getText(const UStringSearch *strsrch, 
00399                                                int32_t       *length);
00400 
00411 U_CAPI UCollator * U_EXPORT2 usearch_getCollator(
00412                                                const UStringSearch *strsrch);
00413 
00424 U_CAPI void U_EXPORT2 usearch_setCollator(      UStringSearch *strsrch, 
00425                                           const UCollator     *collator,
00426                                                 UErrorCode    *status);
00427 
00440 U_CAPI void U_EXPORT2 usearch_setPattern(      UStringSearch *strsrch, 
00441                                          const UChar         *pattern,
00442                                                int32_t        patternlength,
00443                                                UErrorCode    *status);
00444 
00453 U_CAPI const UChar * U_EXPORT2 usearch_getPattern(
00454                                                const UStringSearch *strsrch, 
00455                                                      int32_t       *length);
00456 
00457 /* methods ------------------------------------------------------------- */
00458 
00472 U_CAPI UTextOffset U_EXPORT2 usearch_first(UStringSearch *strsrch, 
00473                                            UErrorCode    *status);
00474 
00493 U_CAPI UTextOffset U_EXPORT2 usearch_following(UStringSearch *strsrch, 
00494                                                UTextOffset    position, 
00495                                                UErrorCode    *status);
00496     
00510 U_CAPI UTextOffset U_EXPORT2 usearch_last(UStringSearch *strsrch, 
00511                                           UErrorCode    *status);
00512 
00530 U_CAPI UTextOffset U_EXPORT2 usearch_preceding(UStringSearch *strsrch, 
00531                                                UTextOffset    position, 
00532                                                UErrorCode    *status);
00533     
00549 U_CAPI UTextOffset U_EXPORT2 usearch_next(UStringSearch *strsrch, 
00550                                           UErrorCode    *status);
00551 
00566 U_CAPI UTextOffset U_EXPORT2 usearch_previous(UStringSearch *strsrch, 
00567                                               UErrorCode    *status);
00568     
00578 U_CAPI void U_EXPORT2 usearch_reset(UStringSearch *strsrch);
00579 
00580 #endif
00581 
00582 

Generated on Tue Mar 5 06:25:09 2002 for ICU 2.0 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002