ICU 50.1.2  50.1.2
uenum.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************
3 *
4 * Copyright (C) 2002-2012, International Business Machines
5 * Corporation and others. All Rights Reserved.
6 *
7 *******************************************************************************
8 * file name: uenum.h
9 * encoding: US-ASCII
10 * tab size: 8 (not used)
11 * indentation:2
12 *
13 * created on: 2002jul08
14 * created by: Vladimir Weinstein
15 */
16 
17 #ifndef __UENUM_H
18 #define __UENUM_H
19 
20 #include "unicode/utypes.h"
21 #include "unicode/localpointer.h"
22 
23 #if U_SHOW_CPLUSPLUS_API
24 #include "unicode/strenum.h"
25 #endif
26 
37 struct UEnumeration;
39 typedef struct UEnumeration UEnumeration;
40 
48 U_STABLE void U_EXPORT2
50 
51 #if U_SHOW_CPLUSPLUS_API
52 
54 
65 
67 
68 #endif
69 
84 U_STABLE int32_t U_EXPORT2
85 uenum_count(UEnumeration* en, UErrorCode* status);
86 
108 U_STABLE const UChar* U_EXPORT2
110  int32_t* resultLength,
111  UErrorCode* status);
112 
141 U_STABLE const char* U_EXPORT2
143  int32_t* resultLength,
144  UErrorCode* status);
145 
155 U_STABLE void U_EXPORT2
156 uenum_reset(UEnumeration* en, UErrorCode* status);
157 
158 #if U_SHOW_CPLUSPLUS_API
159 
169 U_STABLE UEnumeration* U_EXPORT2
171 
172 #endif
173 
174 #ifndef U_HIDE_DRAFT_API
175 
186 U_DRAFT UEnumeration* U_EXPORT2
187 uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
188  UErrorCode* ec);
189 #endif
190 
191 /* Note: next function is not hidden as draft, as it is used internally (it was formerly an internal function). */
192 
204 U_DRAFT UEnumeration* U_EXPORT2
205 uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
206  UErrorCode* ec);
207 
208 
209 #endif
void uenum_close(UEnumeration *en)
Disposes of resources in use by the iterator.
UEnumeration * uenum_openUCharStringsEnumeration(const UChar *const strings[], int32_t count, UErrorCode *ec)
Given an array of const UChar* strings, return a UEnumeration.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:39
Base class for 'pure' C++ implementations of uenum api.
Definition: strenum.h:55
const char * uenum_next(UEnumeration *en, int32_t *resultLength, UErrorCode *status)
Returns the next element in the iterator's list.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
const UChar * uenum_unext(UEnumeration *en, int32_t *resultLength, UErrorCode *status)
Returns the next element in the iterator's list.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:290
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
int32_t uenum_count(UEnumeration *en, UErrorCode *status)
Returns the number of elements that the iterator traverses.
UEnumeration * uenum_openCharStringsEnumeration(const char *const strings[], int32_t count, UErrorCode *ec)
Given an array of const char* strings (invariant chars only), return a UEnumeration.
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:278
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
C++ API: String Enumeration.
Basic definitions for ICU, for both C and C++ APIs.
"Smart pointer" class, closes a UEnumeration via uenum_close().
void uenum_reset(UEnumeration *en, UErrorCode *status)
Resets the iterator to the current list of service IDs.
UEnumeration * uenum_openFromStringEnumeration(icu::StringEnumeration *adopted, UErrorCode *ec)
Given a StringEnumeration, wrap it in a UEnumeration.
#define U_DRAFT
This is used to declare a function as a draft public ICU C API.
Definition: umachine.h:111
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:109