00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __UENUM_H
00020 #define __UENUM_H
00021
00022 #include "unicode/utypes.h"
00023
00024 #if U_SHOW_CPLUSPLUS_API
00025 #include "unicode/localpointer.h"
00026
00027 U_NAMESPACE_BEGIN
00028 class StringEnumeration;
00029 U_NAMESPACE_END
00030 #endif // U_SHOW_CPLUSPLUS_API
00031
00042 struct UEnumeration;
00044 typedef struct UEnumeration UEnumeration;
00045
00053 U_CAPI void U_EXPORT2
00054 uenum_close(UEnumeration* en);
00055
00056 #if U_SHOW_CPLUSPLUS_API
00057
00058 U_NAMESPACE_BEGIN
00059
00069 U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
00070
00071 U_NAMESPACE_END
00072
00073 #endif
00074
00089 U_CAPI int32_t U_EXPORT2
00090 uenum_count(UEnumeration* en, UErrorCode* status);
00091
00113 U_CAPI const UChar* U_EXPORT2
00114 uenum_unext(UEnumeration* en,
00115 int32_t* resultLength,
00116 UErrorCode* status);
00117
00146 U_CAPI const char* U_EXPORT2
00147 uenum_next(UEnumeration* en,
00148 int32_t* resultLength,
00149 UErrorCode* status);
00150
00160 U_CAPI void U_EXPORT2
00161 uenum_reset(UEnumeration* en, UErrorCode* status);
00162
00163 #if U_SHOW_CPLUSPLUS_API
00164
00174 U_CAPI UEnumeration* U_EXPORT2
00175 uenum_openFromStringEnumeration(icu::StringEnumeration* adopted, UErrorCode* ec);
00176
00177 #endif
00178
00190 U_CAPI UEnumeration* U_EXPORT2
00191 uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
00192 UErrorCode* ec);
00193
00205 U_CAPI UEnumeration* U_EXPORT2
00206 uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
00207 UErrorCode* ec);
00208
00209 #endif