Home | History | Annotate | Download | only in i18n
      1 /*
      2 *******************************************************************************
      3 * Copyright (C) 2009-2011, 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 U_NAMESPACE_BEGIN
     22 
     23 class  UnicodeSet;
     24 
     25 
     26 class DecimalFormatStaticSets : public UMemory
     27 {
     28 public:
     29     static DecimalFormatStaticSets *gStaticSets;  // Ptr to all lazily initialized constant
     30                                                   //   shared sets.
     31 
     32     DecimalFormatStaticSets(UErrorCode *status);
     33     ~DecimalFormatStaticSets();
     34 
     35     static void    initSets(UErrorCode *status);
     36     static UBool   cleanup();
     37 
     38     static const UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse);
     39 
     40     UnicodeSet *fDotEquivalents;
     41     UnicodeSet *fCommaEquivalents;
     42     UnicodeSet *fOtherGroupingSeparators;
     43     UnicodeSet *fDashEquivalents;
     44 
     45     UnicodeSet *fStrictDotEquivalents;
     46     UnicodeSet *fStrictCommaEquivalents;
     47     UnicodeSet *fStrictOtherGroupingSeparators;
     48     UnicodeSet *fStrictDashEquivalents;
     49 
     50     UnicodeSet *fDefaultGroupingSeparators;
     51     UnicodeSet *fStrictDefaultGroupingSeparators;
     52 
     53 };
     54 
     55 
     56 U_NAMESPACE_END
     57 
     58 #endif   // !UCONFIG_NO_FORMATTING
     59 #endif   // DECFMTST_H
     60