1b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho/*
2b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho*******************************************************************************
3b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho* Copyright (C) 2009-2011, International Business Machines Corporation and    *
4b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho* others. All Rights Reserved.                                                *
5b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho*******************************************************************************
6b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho*
7b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho* This file contains declarations for the class DecimalFormatStaticSets
8b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho*
9b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho* DecimalFormatStaticSets holds the UnicodeSets that are needed for lenient
10b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho* parsing of decimal and group separators.
11b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho********************************************************************************
12b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho*/
13b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
14b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#ifndef DECFMTST_H
15b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#define DECFMTST_H
16b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
17b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#include "unicode/utypes.h"
18b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
19b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho #if !UCONFIG_NO_FORMATTING
20b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
21b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2clairehoU_NAMESPACE_BEGIN
22b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
23b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2clairehoclass  UnicodeSet;
24b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
25b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
26b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2clairehoclass DecimalFormatStaticSets : public UMemory
27b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho{
28b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2clairehopublic:
29b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    static DecimalFormatStaticSets *gStaticSets;  // Ptr to all lazily initialized constant
30b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho                                                  //   shared sets.
31b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
32b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    DecimalFormatStaticSets(UErrorCode *status);
33b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    ~DecimalFormatStaticSets();
34b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
35b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    static void    initSets(UErrorCode *status);
36b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    static UBool   cleanup();
37b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
38b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    static const UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse);
39b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
40b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fDotEquivalents;
41b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fCommaEquivalents;
42b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fOtherGroupingSeparators;
43b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fDashEquivalents;
44b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
45b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fStrictDotEquivalents;
46b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fStrictCommaEquivalents;
47b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fStrictOtherGroupingSeparators;
48b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fStrictDashEquivalents;
49b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
50b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fDefaultGroupingSeparators;
51b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UnicodeSet *fStrictDefaultGroupingSeparators;
52b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
53b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho};
54b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
55b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
56b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2clairehoU_NAMESPACE_END
57b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
58b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#endif   // !UCONFIG_NO_FORMATTING
59b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#endif   // DECFMTST_H
60