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 #include "unicode/localpointer.h"
00024
00025 #if U_SHOW_CPLUSPLUS_API
00026 U_NAMESPACE_BEGIN
00027 class StringEnumeration;
00028 U_NAMESPACE_END
00029 #endif
00030
00041 struct UEnumeration;
00043 typedef struct UEnumeration UEnumeration;
00044
00052 U_STABLE void U_EXPORT2
00053 uenum_close(UEnumeration* en);
00054
00055 #if U_SHOW_CPLUSPLUS_API
00056
00057 U_NAMESPACE_BEGIN
00058
00068 U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
00069
00070 U_NAMESPACE_END
00071
00072 #endif
00073
00088 U_STABLE int32_t U_EXPORT2
00089 uenum_count(UEnumeration* en, UErrorCode* status);
00090
00112 U_STABLE const UChar* U_EXPORT2
00113 uenum_unext(UEnumeration* en,
00114 int32_t* resultLength,
00115 UErrorCode* status);
00116
00145 U_STABLE const char* U_EXPORT2
00146 uenum_next(UEnumeration* en,
00147 int32_t* resultLength,
00148 UErrorCode* status);
00149
00159 U_STABLE void U_EXPORT2
00160 uenum_reset(UEnumeration* en, UErrorCode* status);
00161
00162 #if U_SHOW_CPLUSPLUS_API
00163
00173 U_STABLE UEnumeration* U_EXPORT2
00174 uenum_openFromStringEnumeration(icu::StringEnumeration* adopted, UErrorCode* ec);
00175
00176 #endif
00177
00189 U_STABLE UEnumeration* U_EXPORT2
00190 uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
00191 UErrorCode* ec);
00192
00204 U_STABLE UEnumeration* U_EXPORT2
00205 uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
00206 UErrorCode* ec);
00207
00208 #endif