• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 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
70