00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __UENUM_H
00018 #define __UENUM_H
00019
00020 #include "unicode/utypes.h"
00021 #include "unicode/localpointer.h"
00022
00023 #if U_SHOW_CPLUSPLUS_API
00024 #include "unicode/strenum.h"
00025 #endif
00026
00037 struct UEnumeration;
00039 typedef struct UEnumeration UEnumeration;
00040
00048 U_STABLE void U_EXPORT2
00049 uenum_close(UEnumeration* en);
00050
00051 #if U_SHOW_CPLUSPLUS_API
00052
00053 U_NAMESPACE_BEGIN
00054
00064 U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
00065
00066 U_NAMESPACE_END
00067
00068 #endif
00069
00084 U_STABLE int32_t U_EXPORT2
00085 uenum_count(UEnumeration* en, UErrorCode* status);
00086
00108 U_STABLE const UChar* U_EXPORT2
00109 uenum_unext(UEnumeration* en,
00110 int32_t* resultLength,
00111 UErrorCode* status);
00112
00141 U_STABLE const char* U_EXPORT2
00142 uenum_next(UEnumeration* en,
00143 int32_t* resultLength,
00144 UErrorCode* status);
00145
00155 U_STABLE void U_EXPORT2
00156 uenum_reset(UEnumeration* en, UErrorCode* status);
00157
00158 #if U_SHOW_CPLUSPLUS_API
00159
00169 U_STABLE UEnumeration* U_EXPORT2
00170 uenum_openFromStringEnumeration(icu::StringEnumeration* adopted, UErrorCode* ec);
00171
00172 #endif
00173
00174 #ifndef U_HIDE_DRAFT_API
00175
00186 U_DRAFT UEnumeration* U_EXPORT2
00187 uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
00188 UErrorCode* ec);
00189 #endif
00190
00191
00192
00204 U_DRAFT UEnumeration* U_EXPORT2
00205 uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
00206 UErrorCode* ec);
00207
00208
00209 #endif