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