| Index: source/i18n/decimalformatpattern.h
|
| diff --git a/source/i18n/decimalformatpattern.h b/source/i18n/decimalformatpattern.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4b04d47d6b021e64cf0b5c1a3ef462464b8d7ec3
|
| --- /dev/null
|
| +++ b/source/i18n/decimalformatpattern.h
|
| @@ -0,0 +1,99 @@
|
| +/*
|
| +*******************************************************************************
|
| +* Copyright (C) 1997-2014, International Business Machines Corporation and *
|
| +* others. All Rights Reserved. *
|
| +*******************************************************************************
|
| +*/
|
| +#ifndef _DECIMAL_FORMAT_PATTERN
|
| +#define _DECIMAL_FORMAT_PATTERN
|
| +
|
| +#include "unicode/utypes.h"
|
| +
|
| +#if !UCONFIG_NO_FORMATTING
|
| +
|
| +#include "unicode/uobject.h"
|
| +#include "unicode/unistr.h"
|
| +#include "digitlst.h"
|
| +
|
| +U_NAMESPACE_BEGIN
|
| +
|
| +// currency sign count
|
| +enum CurrencySignCount {
|
| + fgCurrencySignCountZero,
|
| + fgCurrencySignCountInSymbolFormat,
|
| + fgCurrencySignCountInISOFormat,
|
| + fgCurrencySignCountInPluralFormat
|
| +};
|
| +
|
| +class DecimalFormatSymbols;
|
| +
|
| +struct DecimalFormatPattern : UMemory {
|
| + enum EPadPosition {
|
| + kPadBeforePrefix,
|
| + kPadAfterPrefix,
|
| + kPadBeforeSuffix,
|
| + kPadAfterSuffix
|
| + };
|
| +
|
| + DecimalFormatPattern();
|
| +
|
| + int32_t fMinimumIntegerDigits;
|
| + int32_t fMaximumIntegerDigits;
|
| + int32_t fMinimumFractionDigits;
|
| + int32_t fMaximumFractionDigits;
|
| + UBool fUseSignificantDigits;
|
| + int32_t fMinimumSignificantDigits;
|
| + int32_t fMaximumSignificantDigits;
|
| + UBool fUseExponentialNotation;
|
| + int32_t fMinExponentDigits;
|
| + UBool fExponentSignAlwaysShown;
|
| + int32_t fCurrencySignCount;
|
| + UBool fGroupingUsed;
|
| + int32_t fGroupingSize;
|
| + int32_t fGroupingSize2;
|
| + int32_t fMultiplier;
|
| + UBool fDecimalSeparatorAlwaysShown;
|
| + int32_t fFormatWidth;
|
| + UBool fRoundingIncrementUsed;
|
| + DigitList fRoundingIncrement;
|
| + UChar32 fPad;
|
| + UBool fNegPatternsBogus;
|
| + UBool fPosPatternsBogus;
|
| + UnicodeString fNegPrefixPattern;
|
| + UnicodeString fNegSuffixPattern;
|
| + UnicodeString fPosPrefixPattern;
|
| + UnicodeString fPosSuffixPattern;
|
| + EPadPosition fPadPosition;
|
| +};
|
| +
|
| +class DecimalFormatPatternParser : UMemory {
|
| + public:
|
| + DecimalFormatPatternParser();
|
| + void useSymbols(const DecimalFormatSymbols& symbols);
|
| +
|
| + void applyPatternWithoutExpandAffix(
|
| + const UnicodeString& pattern,
|
| + DecimalFormatPattern& out,
|
| + UParseError& parseError,
|
| + UErrorCode& status);
|
| + private:
|
| + DecimalFormatPatternParser(const DecimalFormatPatternParser&);
|
| + DecimalFormatPatternParser& operator=(DecimalFormatPatternParser& rhs);
|
| + UChar32 fZeroDigit;
|
| + UChar32 fSigDigit;
|
| + UnicodeString fGroupingSeparator;
|
| + UnicodeString fDecimalSeparator;
|
| + UnicodeString fPercent;
|
| + UnicodeString fPerMill;
|
| + UnicodeString fDigit;
|
| + UnicodeString fSeparator;
|
| + UnicodeString fExponent;
|
| + UnicodeString fPlus;
|
| + UnicodeString fMinus;
|
| + UnicodeString fPadEscape;
|
| +};
|
| +
|
| +U_NAMESPACE_END
|
| +
|
| +#endif /* !UCONFIG_NO_FORMATTING */
|
| +#endif
|
|
|