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