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