xref: /aosp_15_r20/external/icu/libicu/cts_headers/region_impl.h (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
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