mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.3 KiB
54 lines
1.3 KiB
// © 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
|
|
|