ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
usearch.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (C) 2001-2011 IBM and others. All rights reserved.
4 **********************************************************************
5 * Date Name Description
6 * 06/28/2001 synwee Creation.
7 **********************************************************************
8 */
9 #ifndef USEARCH_H
10 #define USEARCH_H
11 
12 #include "unicode/utypes.h"
13 
14 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
15 
16 #include "unicode/localpointer.h"
17 #include "unicode/ucol.h"
18 #include "unicode/ucoleitr.h"
19 #include "unicode/ubrk.h"
20 
140 #define USEARCH_DONE -1
141 
146 struct UStringSearch;
152 
156 typedef enum {
170 
171  USEARCH_ATTRIBUTE_COUNT
173 
177 typedef enum {
219 
220  USEARCH_ATTRIBUTE_VALUE_COUNT
222 
223 /* open and close ------------------------------------------------------ */
224 
248  int32_t patternlength,
249  const UChar *text,
250  int32_t textlength,
251  const char *locale,
252  UBreakIterator *breakiter,
253  UErrorCode *status);
254 
280  const UChar *pattern,
281  int32_t patternlength,
282  const UChar *text,
283  int32_t textlength,
284  const UCollator *collator,
285  UBreakIterator *breakiter,
286  UErrorCode *status);
287 
295 
296 #if U_SHOW_CPLUSPLUS_API
297 
299 
309 U_DEFINE_LOCAL_OPEN_POINTER(LocalUStringSearchPointer, UStringSearch, usearch_close);
310 
312 
313 #endif
314 
315 /* get and set methods -------------------------------------------------- */
316 
333  int32_t position,
334  UErrorCode *status);
335 
344 U_STABLE int32_t U_EXPORT2 usearch_getOffset(const UStringSearch *strsrch);
345 
358  USearchAttribute attribute,
359  USearchAttributeValue value,
360  UErrorCode *status);
361 
371  const UStringSearch *strsrch,
372  USearchAttribute attribute);
373 
394  const UStringSearch *strsrch);
395 
414  const UStringSearch *strsrch);
415 
442  UChar *result,
443  int32_t resultCapacity,
444  UErrorCode *status);
445 
446 #if !UCONFIG_NO_BREAK_ITERATION
447 
464  UBreakIterator *breakiter,
465  UErrorCode *status);
466 
479  const UStringSearch *strsrch);
480 
481 #endif
482 
497  const UChar *text,
498  int32_t textlength,
499  UErrorCode *status);
500 
509 U_STABLE const UChar * U_EXPORT2 usearch_getText(const UStringSearch *strsrch,
510  int32_t *length);
511 
523  const UStringSearch *strsrch);
524 
536  const UCollator *collator,
537  UErrorCode *status);
538 
552  const UChar *pattern,
553  int32_t patternlength,
554  UErrorCode *status);
555 
565  const UStringSearch *strsrch,
566  int32_t *length);
567 
568 /* methods ------------------------------------------------------------- */
569 
586  UErrorCode *status);
587 
610  int32_t position,
611  UErrorCode *status);
612 
628 U_STABLE int32_t U_EXPORT2 usearch_last(UStringSearch *strsrch,
629  UErrorCode *status);
630 
657  int32_t position,
658  UErrorCode *status);
659 
677 U_STABLE int32_t U_EXPORT2 usearch_next(UStringSearch *strsrch,
678  UErrorCode *status);
679 
698  UErrorCode *status);
699 
711 
767  int32_t startIdx,
768  int32_t *matchStart,
769  int32_t *matchLimit,
770  UErrorCode *status);
771 
827  int32_t startIdx,
828  int32_t *matchStart,
829  int32_t *matchLimit,
830  UErrorCode *status);
831 
832 #endif /* #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION */
833 
834 #endif