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