| /* |
| ******************************************************************************** |
| * 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 |