00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 2002-2009, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 * file name: uenum.h 00009 * encoding: US-ASCII 00010 * tab size: 8 (not used) 00011 * indentation:2 00012 * 00013 * created on: 2002jul08 00014 * created by: Vladimir Weinstein 00015 */ 00016 00017 #ifndef __UENUM_H 00018 #define __UENUM_H 00019 00020 #include "unicode/utypes.h" 00021 00022 #ifdef XP_CPLUSPLUS 00023 #include "unicode/strenum.h" 00024 #endif 00025 00036 struct UEnumeration; 00038 typedef struct UEnumeration UEnumeration; 00039 00047 U_STABLE void U_EXPORT2 00048 uenum_close(UEnumeration* en); 00049 00064 U_STABLE int32_t U_EXPORT2 00065 uenum_count(UEnumeration* en, UErrorCode* status); 00066 00088 U_STABLE const UChar* U_EXPORT2 00089 uenum_unext(UEnumeration* en, 00090 int32_t* resultLength, 00091 UErrorCode* status); 00092 00121 U_STABLE const char* U_EXPORT2 00122 uenum_next(UEnumeration* en, 00123 int32_t* resultLength, 00124 UErrorCode* status); 00125 00135 U_STABLE void U_EXPORT2 00136 uenum_reset(UEnumeration* en, UErrorCode* status); 00137 00138 #ifdef XP_CPLUSPLUS 00139 00149 U_CAPI UEnumeration* U_EXPORT2 00150 uenum_openFromStringEnumeration(U_NAMESPACE_QUALIFIER StringEnumeration* adopted, UErrorCode* ec); 00151 00152 #endif 00153 00154 #endif