1 // © 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /* 4 ******************************************************************************* 5 * Copyright (C) 2007-2008, International Business Machines Corporation and 6 * others. All Rights Reserved. * 7 ******************************************************************************* 8 * 9 * File MSGFMT.H 10 * 11 ******************************************************************************* 12 */ 13 14 #ifndef __MSGFMT_IMPL_H__ 15 #define __MSGFMT_IMPL_H__ 16 17 #include "unicode/utypes.h" 18 19 #if !UCONFIG_NO_FORMATTING 20 21 #include "unicode/msgfmt.h" 22 #include "uvector.h" 23 #include "unicode/strenum.h" 24 25 U_NAMESPACE_BEGIN 26 27 class FormatNameEnumeration : public StringEnumeration { 28 public: 29 FormatNameEnumeration(LocalPointer<UVector> fFormatNames, UErrorCode& status); 30 virtual ~FormatNameEnumeration(); 31 static UClassID U_EXPORT2 getStaticClassID(void); 32 virtual UClassID getDynamicClassID(void) const override; 33 virtual const UnicodeString* snext(UErrorCode& status) override; 34 virtual void reset(UErrorCode& status) override; 35 virtual int32_t count(UErrorCode& status) const override; 36 private: 37 int32_t pos; 38 LocalPointer<UVector> fFormatNames; 39 }; 40 41 U_NAMESPACE_END 42 43 #endif 44 45 #endif 46