ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
strenum.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************
3 *
4 * Copyright (C) 2002-2007, International Business Machines
5 * Corporation and others. All Rights Reserved.
6 *
7 *******************************************************************************
8 */
9 
10 #ifndef STRENUM_H
11 #define STRENUM_H
12 
13 #include "unicode/uobject.h"
14 #include "unicode/unistr.h"
15 
22 
56 public:
61  virtual ~StringEnumeration();
62 
78  virtual StringEnumeration *clone() const;
79 
97  virtual int32_t count(UErrorCode& status) const = 0;
98 
128  virtual const char* next(int32_t *resultLength, UErrorCode& status);
129 
153  virtual const UChar* unext(int32_t *resultLength, UErrorCode& status);
154 
171  virtual const UnicodeString* snext(UErrorCode& status) = 0;
172 
185  virtual void reset(UErrorCode& status) = 0;
186 
194  virtual UBool operator==(const StringEnumeration& that)const;
202  virtual UBool operator!=(const StringEnumeration& that)const;
203 
204 protected:
214  char charsBuffer[32];
220  char *chars;
225  int32_t charsCapacity;
226 
232 
241  void ensureCharsCapacity(int32_t capacity, UErrorCode &status);
242 
265  UnicodeString *setChars(const char *s, int32_t length, UErrorCode &status);
266 };
267 
269 
270 /* STRENUM_H */
271 #endif
int32_t charsCapacity
Capacity of chars, for use with default implementations and subclasses.
Definition: strenum.h:225
C++ API: Unicode String.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
UnicodeString unistr
UnicodeString field for use with default implementations and subclasses.
Definition: strenum.h:209
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
char * chars
char * buffer for use with default implementations and subclasses.
Definition: strenum.h:220
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:188
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
Definition: stringpiece.h:218
C++ API: Common ICU base class UObject.
uint16_t UChar
Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
Definition: umachine.h:325
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:215
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:639
Base class for 'pure' C++ implementations of uenum api.
Definition: strenum.h:55
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
Definition: utypes.h:520
int8_t UBool
The ICU boolean type.
Definition: umachine.h:228