1 // © 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /* 4 ******************************************************************************* 5 * Copyright (C) 2013, International Business Machines Corporation and * 6 * others. All Rights Reserved. * 7 ******************************************************************************* 8 * 9 * File REGION_IMPL.H 10 * 11 ******************************************************************************* 12 */ 13 14 #ifndef __REGION_IMPL_H__ 15 #define __REGION_IMPL_H__ 16 17 #include "unicode/utypes.h" 18 19 #if !UCONFIG_NO_FORMATTING 20 21 #include "uvector.h" 22 #include "unicode/strenum.h" 23 24 U_NAMESPACE_BEGIN 25 26 27 class RegionNameEnumeration : public StringEnumeration { 28 public: 29 /** 30 * Construct an string enumeration over the supplied name list. 31 * Makes a copy of the supplied input name list; does not retain a reference to the original. 32 */ 33 RegionNameEnumeration(UVector *nameList, UErrorCode& status); 34 virtual ~RegionNameEnumeration(); 35 static UClassID U_EXPORT2 getStaticClassID(); 36 virtual UClassID getDynamicClassID() const override; 37 virtual const UnicodeString* snext(UErrorCode& status) override; 38 virtual void reset(UErrorCode& status) override; 39 virtual int32_t count(UErrorCode& status) const override; 40 private: 41 int32_t pos; 42 UVector *fRegionNames; 43 }; 44 45 U_NAMESPACE_END 46 47 #endif 48 49 #endif 50