ICU 78.1  78.1
usearch.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 2001-2011,2014 IBM and others. All rights reserved.
6 **********************************************************************
7 * Date Name Description
8 * 06/28/2001 synwee Creation.
9 **********************************************************************
10 */
11 #ifndef USEARCH_H
12 #define USEARCH_H
13 
14 #include "unicode/utypes.h"
15 
16 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
17 
18 #include "unicode/ucol.h"
19 #include "unicode/ucoleitr.h"
20 #include "unicode/ubrk.h"
21 
22 #if U_SHOW_CPLUSPLUS_API
23 #include "unicode/localpointer.h"
24 #endif // U_SHOW_CPLUSPLUS_API
25 
151 #define USEARCH_DONE -1
152 
157 struct UStringSearch;
162 typedef struct UStringSearch UStringSearch;
163 
167 typedef enum {
173 #ifndef U_HIDE_DEPRECATED_API
189 #endif /* U_HIDE_DEPRECATED_API */
196 
197 #ifndef U_HIDE_DEPRECATED_API
203 #endif /* U_HIDE_DEPRECATED_API */
205 
209 typedef enum {
271 
272 #ifndef U_HIDE_DEPRECATED_API
278 #endif /* U_HIDE_DEPRECATED_API */
280 
281 /* open and close ------------------------------------------------------ */
282 
309 U_CAPI UStringSearch * U_EXPORT2 usearch_open(const UChar *pattern,
310  int32_t patternlength,
311  const UChar *text,
312  int32_t textlength,
313  const char *locale,
314  UBreakIterator *breakiter,
315  UErrorCode *status);
316 
347  const UChar *pattern,
348  int32_t patternlength,
349  const UChar *text,
350  int32_t textlength,
351  const UCollator *collator,
352  UBreakIterator *breakiter,
353  UErrorCode *status);
354 
361 U_CAPI void U_EXPORT2 usearch_close(UStringSearch *searchiter);
362 
363 #if U_SHOW_CPLUSPLUS_API
364 
365 U_NAMESPACE_BEGIN
366 
377 
378 U_NAMESPACE_END
379 
380 #endif
381 
382 /* get and set methods -------------------------------------------------- */
383 
399 U_CAPI void U_EXPORT2 usearch_setOffset(UStringSearch *strsrch,
400  int32_t position,
401  UErrorCode *status);
402 
411 U_CAPI int32_t U_EXPORT2 usearch_getOffset(const UStringSearch *strsrch);
412 
424 U_CAPI void U_EXPORT2 usearch_setAttribute(UStringSearch *strsrch,
425  USearchAttribute attribute,
426  USearchAttributeValue value,
427  UErrorCode *status);
428 
438  const UStringSearch *strsrch,
439  USearchAttribute attribute);
440 
460 U_CAPI int32_t U_EXPORT2 usearch_getMatchedStart(
461  const UStringSearch *strsrch);
462 
481  const UStringSearch *strsrch);
482 
508 U_CAPI int32_t U_EXPORT2 usearch_getMatchedText(const UStringSearch *strsrch,
509  UChar *result,
510  int32_t resultCapacity,
511  UErrorCode *status);
512 
513 #if !UCONFIG_NO_BREAK_ITERATION
514 
531  UBreakIterator *breakiter,
532  UErrorCode *status);
533 
546  const UStringSearch *strsrch);
547 
548 #endif
549 
567 U_CAPI void U_EXPORT2 usearch_setText( UStringSearch *strsrch,
568  const UChar *text,
569  int32_t textlength,
570  UErrorCode *status);
571 
580 U_CAPI const UChar * U_EXPORT2 usearch_getText(const UStringSearch *strsrch,
581  int32_t *length);
582 
594  const UStringSearch *strsrch);
595 
606 U_CAPI void U_EXPORT2 usearch_setCollator( UStringSearch *strsrch,
607  const UCollator *collator,
608  UErrorCode *status);
609 
626 U_CAPI void U_EXPORT2 usearch_setPattern(