1/*
2*******************************************************************************
3* Copyright (C) 2009-2013, 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
21U_NAMESPACE_BEGIN
22
23class  UnicodeSet;
24
25
26class DecimalFormatStaticSets : public UMemory
27{
28public:
29    // Constructor and Destructor not for general use.
30    //   Public to permit access from plain C implementation functions.
31    DecimalFormatStaticSets(UErrorCode &status);
32    ~DecimalFormatStaticSets();
33
34    /**
35      * Return a pointer to a lazy-initialized singleton instance of this class.
36      */
37    static const DecimalFormatStaticSets *getStaticSets(UErrorCode &status);
38
39    static const UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse);
40
41    UnicodeSet *fDotEquivalents;
42    UnicodeSet *fCommaEquivalents;
43    UnicodeSet *fOtherGroupingSeparators;
44    UnicodeSet *fDashEquivalents;
45
46    UnicodeSet *fStrictDotEquivalents;
47    UnicodeSet *fStrictCommaEquivalents;
48    UnicodeSet *fStrictOtherGroupingSeparators;
49    UnicodeSet *fStrictDashEquivalents;
50
51    UnicodeSet *fDefaultGroupingSeparators;
52    UnicodeSet *fStrictDefaultGroupingSeparators;
53
54    UnicodeSet *fMinusSigns;
55    UnicodeSet *fPlusSigns;
56private:
57    void cleanup();
58
59};
60
61
62U_NAMESPACE_END
63
64#endif   // !UCONFIG_NO_FORMATTING
65#endif   // DECFMTST_H
66