ICU 73.2  73.2
uenum.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 *******************************************************************************
00005 *
00006 *   Copyright (C) 2002-2013, International Business Machines
00007 *   Corporation and others.  All Rights Reserved.
00008 *
00009 *******************************************************************************
00010 *   file name:  uenum.h
00011 *   encoding:   UTF-8
00012 *   tab size:   8 (not used)
00013 *   indentation:2
00014 *
00015 *   created on: 2002jul08
00016 *   created by: Vladimir Weinstein
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