8b59ab29e0
X-SVN-Rev: 35565
53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
/*
|
|
********************************************************************************
|
|
* 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
|