-//
-// regexst.h
-//
-// Copyright (C) 2009, International Business Machines Corporation and others.
-// All Rights Reserved.
-//
-// This file contains declarations for the class DecimalFormatStaticSets
-//
-// DecimalFormatStaticSets holds the UnicodeSets that are needed for lenient
-// parsing of decimal and group separators.
-//
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+*******************************************************************************
+* Copyright (C) 2009-2016, International Business Machines Corporation and
+* others. All Rights Reserved.
+*******************************************************************************
+*
+* This file contains declarations for the class DecimalFormatStaticSets
+*
+* DecimalFormatStaticSets holds the UnicodeSets that are needed for lenient
+* parsing of decimal and group separators.
+********************************************************************************
+*/
#ifndef DECFMTST_H
#define DECFMTST_H
#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/uobject.h"
+
U_NAMESPACE_BEGIN
class UnicodeSet;
class DecimalFormatStaticSets : public UMemory
{
public:
- static DecimalFormatStaticSets *gStaticSets; // Ptr to all lazily initialized constant
- // shared sets.
-
- DecimalFormatStaticSets(UErrorCode *status);
+ // Constructor and Destructor not for general use.
+ // Public to permit access from plain C implementation functions.
+ DecimalFormatStaticSets(UErrorCode &status);
~DecimalFormatStaticSets();
- static void initSets(UErrorCode *status);
- static UBool cleanup();
+ /**
+ * Return a pointer to a lazy-initialized singleton instance of this class.
+ */
+ static const DecimalFormatStaticSets *getStaticSets(UErrorCode &status);
- static UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse, UnicodeSet *fallback);
+ static const UnicodeSet *getSimilarDecimals(UChar32 decimal, UBool strictParse);
UnicodeSet *fDotEquivalents;
UnicodeSet *fCommaEquivalents;
UnicodeSet *fDefaultGroupingSeparators;
UnicodeSet *fStrictDefaultGroupingSeparators;
+ UnicodeSet *fMinusSigns;
+ UnicodeSet *fPlusSigns;
+private:
+ void cleanup();
+
};
U_NAMESPACE_END
-#endif // REGEXST_H
+#endif // !UCONFIG_NO_FORMATTING
+#endif // DECFMTST_H