00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 2002, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 */ 00009 00010 #ifndef STRENUM_H 00011 #define STRENUM_H 00012 00013 #include "unicode/uobject.h" 00014 00015 U_NAMESPACE_BEGIN 00016 00017 class UnicodeString; 00018 00048 class U_COMMON_API StringEnumeration : public UObject { 00049 public: 00054 virtual ~StringEnumeration(); 00055 00073 virtual int32_t count(UErrorCode& status) const = 0; 00074 00101 virtual const char* next(int32_t *resultLength, UErrorCode& status) = 0; 00102 00123 virtual const UChar* unext(int32_t *resultLength, UErrorCode& status) = 0; 00124 00141 virtual const UnicodeString* snext(UErrorCode& status) = 0; 00142 00155 virtual void reset(UErrorCode& status) = 0; 00156 }; 00157 00158 inline StringEnumeration::~StringEnumeration() { 00159 } 00160 00161 U_NAMESPACE_END 00162 00163 /* STRENUM_H */ 00164 #endif