11cb0ef41Sopenharmony_ci// © 2016 and later: Unicode, Inc. and others. 21cb0ef41Sopenharmony_ci// License & terms of use: http://www.unicode.org/copyright.html 31cb0ef41Sopenharmony_ci/* 41cb0ef41Sopenharmony_ci******************************************************************************* 51cb0ef41Sopenharmony_ci* Copyright (C) 2013, International Business Machines Corporation and * 61cb0ef41Sopenharmony_ci* others. All Rights Reserved. * 71cb0ef41Sopenharmony_ci******************************************************************************* 81cb0ef41Sopenharmony_ci* 91cb0ef41Sopenharmony_ci* File REGION_IMPL.H 101cb0ef41Sopenharmony_ci* 111cb0ef41Sopenharmony_ci******************************************************************************* 121cb0ef41Sopenharmony_ci*/ 131cb0ef41Sopenharmony_ci 141cb0ef41Sopenharmony_ci#ifndef __REGION_IMPL_H__ 151cb0ef41Sopenharmony_ci#define __REGION_IMPL_H__ 161cb0ef41Sopenharmony_ci 171cb0ef41Sopenharmony_ci#include "unicode/utypes.h" 181cb0ef41Sopenharmony_ci 191cb0ef41Sopenharmony_ci#if !UCONFIG_NO_FORMATTING 201cb0ef41Sopenharmony_ci 211cb0ef41Sopenharmony_ci#include "uvector.h" 221cb0ef41Sopenharmony_ci#include "unicode/strenum.h" 231cb0ef41Sopenharmony_ci 241cb0ef41Sopenharmony_ciU_NAMESPACE_BEGIN 251cb0ef41Sopenharmony_ci 261cb0ef41Sopenharmony_ci 271cb0ef41Sopenharmony_ciclass RegionNameEnumeration : public StringEnumeration { 281cb0ef41Sopenharmony_cipublic: 291cb0ef41Sopenharmony_ci /** 301cb0ef41Sopenharmony_ci * Construct an string enumeration over the supplied name list. 311cb0ef41Sopenharmony_ci * Makes a copy of the supplied input name list; does not retain a reference to the original. 321cb0ef41Sopenharmony_ci */ 331cb0ef41Sopenharmony_ci RegionNameEnumeration(UVector *nameList, UErrorCode& status); 341cb0ef41Sopenharmony_ci virtual ~RegionNameEnumeration(); 351cb0ef41Sopenharmony_ci static UClassID U_EXPORT2 getStaticClassID(); 361cb0ef41Sopenharmony_ci virtual UClassID getDynamicClassID() const override; 371cb0ef41Sopenharmony_ci virtual const UnicodeString* snext(UErrorCode& status) override; 381cb0ef41Sopenharmony_ci virtual void reset(UErrorCode& status) override; 391cb0ef41Sopenharmony_ci virtual int32_t count(UErrorCode& status) const override; 401cb0ef41Sopenharmony_ciprivate: 411cb0ef41Sopenharmony_ci int32_t pos; 421cb0ef41Sopenharmony_ci UVector *fRegionNames; 431cb0ef41Sopenharmony_ci}; 441cb0ef41Sopenharmony_ci 451cb0ef41Sopenharmony_ciU_NAMESPACE_END 461cb0ef41Sopenharmony_ci 471cb0ef41Sopenharmony_ci#endif 481cb0ef41Sopenharmony_ci 491cb0ef41Sopenharmony_ci#endif 50