OLD | NEW |
1 /* | 1 /* |
2 ******************************************************************************** | 2 ******************************************************************************** |
3 * Copyright (C) 2012, International Business Machines | 3 * Copyright (C) 2012-2014, International Business Machines |
4 * Corporation and others. All Rights Reserved. | 4 * Corporation and others. All Rights Reserved. |
5 ********************************************************************************
/ | 5 ********************************************************************************
/ |
6 | 6 |
7 #ifndef DCFMTIMP_H | 7 #ifndef DCFMTIMP_H |
8 #define DCFMTIMP_H | 8 #define DCFMTIMP_H |
9 | 9 |
10 #include "unicode/utypes.h" | 10 #include "unicode/utypes.h" |
11 | 11 |
12 | 12 |
13 #if UCONFIG_FORMAT_FASTPATHS_49 | 13 #if UCONFIG_FORMAT_FASTPATHS_49 |
14 | 14 |
15 U_NAMESPACE_BEGIN | 15 U_NAMESPACE_BEGIN |
16 | 16 |
17 enum EDecimalFormatFastpathStatus { | 17 enum EDecimalFormatFastpathStatus { |
18 kFastpathNO = 0, | 18 kFastpathNO = 0, |
19 kFastpathYES = 1, | 19 kFastpathYES = 1, |
20 kFastpathUNKNOWN = 2 /* not yet set */ | 20 kFastpathUNKNOWN = 2, /* not yet set */ |
| 21 kFastpathMAYBE = 3 /* depends on value being formatted. */ |
21 }; | 22 }; |
22 | 23 |
23 /** | 24 /** |
24 * Must be smaller than DecimalFormat::fReserved | 25 * Must be smaller than DecimalFormat::fReserved |
25 */ | 26 */ |
26 struct DecimalFormatInternal { | 27 struct DecimalFormatInternal { |
27 uint8_t fFastFormatStatus; | 28 uint8_t fFastFormatStatus; |
28 uint8_t fFastParseStatus; | 29 uint8_t fFastParseStatus; |
29 | 30 |
| 31 DecimalFormatInternal &operator=(const DecimalFormatInternal& rhs) { |
| 32 fFastParseStatus = rhs.fFastParseStatus; |
| 33 fFastFormatStatus = rhs.fFastFormatStatus; |
| 34 return *this; |
| 35 } |
30 #ifdef FMT_DEBUG | 36 #ifdef FMT_DEBUG |
31 void dump() const { | 37 void dump() const { |
32 printf("DecimalFormatInternal: fFastFormatStatus=%c, fFastParseStatus=%c\n", | 38 printf("DecimalFormatInternal: fFastFormatStatus=%c, fFastParseStatus=%c\n", |
33 "NY?"[(int)fFastFormatStatus&3], | 39 "NY?"[(int)fFastFormatStatus&3], |
34 "NY?"[(int)fFastParseStatus&3] | 40 "NY?"[(int)fFastParseStatus&3] |
35 ); | 41 ); |
36 } | 42 } |
37 #endif | 43 #endif |
38 }; | 44 }; |
39 | 45 |
40 | 46 |
41 | 47 |
42 U_NAMESPACE_END | 48 U_NAMESPACE_END |
43 | 49 |
44 #endif | 50 #endif |
45 | 51 |
46 #endif | 52 #endif |
OLD | NEW |