1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2015, International Business Machines Corporation and
6 * others. All Rights Reserved.                                                *
7 *******************************************************************************
8 *
9 * File NUMSYS_IMPL.H
10 *
11 *******************************************************************************
12 */
13 
14 #ifndef __NUMSYS_IMPL_H__
15 #define __NUMSYS_IMPL_H__
16 
17 #include "unicode/utypes.h"
18 
19 #if !UCONFIG_NO_FORMATTING
20 
21 #include "unicode/numsys.h"
22 #include "uvector.h"
23 #include "unicode/strenum.h"
24 
25 U_NAMESPACE_BEGIN
26 
27 class NumsysNameEnumeration : public StringEnumeration {
28 public:
29     // NumsysNameEnumeration instance adopts numsysNames
30     NumsysNameEnumeration(UVector *numsysNames, UErrorCode& status);
31 
32     virtual ~NumsysNameEnumeration();
33     static UClassID U_EXPORT2 getStaticClassID(void);
34     virtual UClassID getDynamicClassID(void) const;
35     virtual const UnicodeString* snext(UErrorCode& status);
36     virtual void reset(UErrorCode& status);
37     virtual int32_t count(UErrorCode& status) const;
38 private:
39     int32_t pos;
40     UVector *fNumsysNames;
41 };
42 
43 U_NAMESPACE_END
44 
45 #endif
46 
47 #endif
48