]> git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/decfmtst.h
ICU-62107.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / decfmtst.h
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2009-2016, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 *******************************************************************************
8 *
9 * This file contains declarations for the class DecimalFormatStaticSets
10 *
11 * DecimalFormatStaticSets holds the UnicodeSets that are needed for lenient
12 * parsing of decimal and group separators.
13 ********************************************************************************
14 */
15
16 #ifndef DECFMTST_H
17 #define DECFMTST_H
18
19 #include "unicode/utypes.h"
20
21 #if !UCONFIG_NO_FORMATTING
22
23 #include "unicode/uobject.h"
24
25 U_NAMESPACE_BEGIN
26
27 class UnicodeSet;
28
29
30 class DecimalFormatStaticSets : public UMemory
31 {
32 public:
33 // Constructor and Destructor not for general use.
34 // Public to permit access from plain C implementation functions.
35 DecimalFormatStaticSets(UErrorCode &status);
36 ~DecimalFormatStaticSets();
37
38 /**
39 * Return a pointer to a lazy-initialized singleton instance of this class.
40 */
41 static const DecimalFormatStaticSets *getStaticSets(UErrorCode &status);
42
43 static const UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse);
44
45 UnicodeSet *fDotEquivalents;
46 UnicodeSet *fCommaEquivalents;
47 UnicodeSet *fOtherGroupingSeparators;
48 UnicodeSet *fDashEquivalents;
49
50 UnicodeSet *fStrictDotEquivalents;
51 UnicodeSet *fStrictCommaEquivalents;
52 UnicodeSet *fStrictOtherGroupingSeparators;
53 UnicodeSet *fStrictDashEquivalents;
54
55 UnicodeSet *fDefaultGroupingSeparators;
56 UnicodeSet *fStrictDefaultGroupingSeparators;
57
58 UnicodeSet *fMinusSigns;
59 UnicodeSet *fPlusSigns;
60 private:
61 void cleanup();
62
63 };
64
65
66 U_NAMESPACE_END
67
68 #endif // !UCONFIG_NO_FORMATTING
69 #endif // DECFMTST_H