|
1 /* |
|
2 ****************************************************************************** |
|
3 * Copyright (C) 2009, International Business Machines |
|
4 * Corporation and others. All Rights Reserved. |
|
5 ****************************************************************************** |
|
6 */ |
|
7 |
|
8 #ifndef ULIST_H |
|
9 #define ULIST_H |
|
10 |
|
11 #include "unicode/utypes.h" |
|
12 #include "unicode/uenum.h" |
|
13 |
|
14 struct UList; |
|
15 typedef struct UList UList; |
|
16 |
|
17 U_CAPI UList * U_EXPORT2 ulist_createEmptyList(UErrorCode *status); |
|
18 |
|
19 U_CAPI void U_EXPORT2 ulist_addItemEndList(UList *list, const void *data, UBool forceDelete, UErrorCode *status); |
|
20 |
|
21 U_CAPI void U_EXPORT2 ulist_addItemBeginList(UList *list, const void *data, UBool forceDelete, UErrorCode *status); |
|
22 |
|
23 U_CAPI UBool U_EXPORT2 ulist_containsString(const UList *list, const char *data, int32_t length); |
|
24 |
|
25 U_CAPI void *U_EXPORT2 ulist_getNext(UList *list); |
|
26 |
|
27 U_CAPI int32_t U_EXPORT2 ulist_getListSize(const UList *list); |
|
28 |
|
29 U_CAPI void U_EXPORT2 ulist_resetList(UList *list); |
|
30 |
|
31 U_CAPI void U_EXPORT2 ulist_deleteList(UList *list); |
|
32 |
|
33 /* |
|
34 * The following are for use when creating UEnumeration object backed by UList. |
|
35 */ |
|
36 U_CAPI void U_EXPORT2 ulist_close_keyword_values_iterator(UEnumeration *en); |
|
37 |
|
38 U_CAPI int32_t U_EXPORT2 ulist_count_keyword_values(UEnumeration *en, UErrorCode *status); |
|
39 |
|
40 U_CAPI const char * U_EXPORT2 ulist_next_keyword_value(UEnumeration* en, int32_t *resultLength, UErrorCode* status); |
|
41 |
|
42 U_CAPI void U_EXPORT2 ulist_reset_keyword_values_iterator(UEnumeration* en, UErrorCode* status); |
|
43 |
|
44 U_CAPI UList * U_EXPORT2 ulist_getListFromEnum(UEnumeration *en); |
|
45 |
|
46 #endif |