ICU 57.1 57.1
strenum.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*/
9
10#ifndef STRENUM_H
11#define STRENUM_H
12
13#include "unicode/uobject.h"
14#include "unicode/unistr.h"
15
20
22
56public:
62
78 virtual StringEnumeration *clone() const;
79
97 virtual int32_t count(UErrorCode& status) const = 0;
98
129 virtual const char* next(int32_t *resultLength, UErrorCode& status);
130
154 virtual const UChar* unext(int32_t *resultLength, UErrorCode& status);
155
176 virtual const UnicodeString* snext(UErrorCode& status);
177
190 virtual void reset(UErrorCode& status) = 0;
191
199 virtual UBool operator==(const StringEnumeration& that)const;
207 virtual UBool operator!=(const StringEnumeration& that)const;
208
209protected:
219 char charsBuffer[32];
225 char *chars;
231
237
246 void ensureCharsCapacity(int32_t capacity, UErrorCode &status);
247
270 UnicodeString *setChars(const char *s, int32_t length, UErrorCode &status);
271};
272
274
275/* STRENUM_H */
276#endif
virtual int32_t count(UErrorCode &status) const =0
virtual ~StringEnumeration()
Destructor.
int32_t charsCapacity
Capacity of chars, for use with default implementations and subclasses.
Definition strenum.h:230
UnicodeString * setChars(const char *s, int32_t length, UErrorCode &status)
Converts s to Unicode and sets unistr to the result.
virtual const char * next(int32_t *resultLength, UErrorCode &status)
virtual void reset(UErrorCode &status)=0
virtual const UChar * unext(int32_t *resultLength, UErrorCode &status)
virtual UBool operator!=(const StringEnumeration &that) const
Compares this enumeration to other to check if both are not equal.
char * chars
char * buffer for use with default implementations and subclasses.
Definition strenum.h:225
void ensureCharsCapacity(int32_t capacity, UErrorCode &status)
Ensures that chars is at least as large as the requested capacity.
virtual UBool operator==(const StringEnumeration &that) const
Compares this enumeration to other to check if both are equal.
StringEnumeration()
Default constructor for use with default implementations and subclasses.
char charsBuffer[32]
char * default buffer for use with default implementations and subclasses.
Definition strenum.h:219
virtual const UnicodeString * snext(UErrorCode &status)
UnicodeString unistr
UnicodeString field for use with default implementations and subclasses.
Definition strenum.h:214
virtual StringEnumeration * clone() const
Clone this object, an instance of a subclass of StringEnumeration.
UObject is the common ICU "boilerplate" class.
Definition uobject.h:221
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition unistr.h:294
int8_t UBool
The ICU boolean type.
Definition umachine.h:234
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:312
C++ API: Unicode String.
C++ API: Common ICU base class UObject.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:476
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition utypes.h:357
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:129