diff options
Diffstat (limited to 'intl/icu/source/i18n/dcfmtimp.h')
-rw-r--r-- | intl/icu/source/i18n/dcfmtimp.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/dcfmtimp.h b/intl/icu/source/i18n/dcfmtimp.h new file mode 100644 index 000000000..588587284 --- /dev/null +++ b/intl/icu/source/i18n/dcfmtimp.h @@ -0,0 +1,54 @@ +// Copyright (C) 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +******************************************************************************** +* Copyright (C) 2012-2014, International Business Machines +* Corporation and others. All Rights Reserved. +********************************************************************************/ + +#ifndef DCFMTIMP_H +#define DCFMTIMP_H + +#include "unicode/utypes.h" + + +#if UCONFIG_FORMAT_FASTPATHS_49 + +U_NAMESPACE_BEGIN + +enum EDecimalFormatFastpathStatus { + kFastpathNO = 0, + kFastpathYES = 1, + kFastpathUNKNOWN = 2, /* not yet set */ + kFastpathMAYBE = 3 /* depends on value being formatted. */ +}; + +/** + * Must be smaller than DecimalFormat::fReserved + */ +struct DecimalFormatInternal { + uint8_t fFastFormatStatus; + uint8_t fFastParseStatus; + + DecimalFormatInternal &operator=(const DecimalFormatInternal& rhs) { + fFastParseStatus = rhs.fFastParseStatus; + fFastFormatStatus = rhs.fFastFormatStatus; + return *this; + } +#ifdef FMT_DEBUG + void dump() const { + printf("DecimalFormatInternal: fFastFormatStatus=%c, fFastParseStatus=%c\n", + "NY?"[(int)fFastFormatStatus&3], + "NY?"[(int)fFastParseStatus&3] + ); + } +#endif +}; + + + +U_NAMESPACE_END + +#endif + +#endif |