00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __COMPACT_DECIMAL_FORMAT_H__
00014 #define __COMPACT_DECIMAL_FORMAT_H__
00015
00016 #include "unicode/utypes.h"
00017
00018 #if U_SHOW_CPLUSPLUS_API
00019
00025 #if !UCONFIG_NO_FORMATTING
00026
00027 #include "unicode/decimfmt.h"
00028
00029 struct UHashtable;
00030
00031 U_NAMESPACE_BEGIN
00032
00033 class PluralRules;
00034
00063 class U_I18N_API CompactDecimalFormat : public DecimalFormat {
00064 public:
00065
00076 static CompactDecimalFormat* U_EXPORT2 createInstance(
00077 const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
00078
00085 CompactDecimalFormat(const CompactDecimalFormat& source);
00086
00091 ~CompactDecimalFormat() U_OVERRIDE;
00092
00099 CompactDecimalFormat& operator=(const CompactDecimalFormat& rhs);
00100
00108 CompactDecimalFormat* clone() const U_OVERRIDE;
00109
00110 using DecimalFormat::format;
00111
00121 void parse(const UnicodeString& text, Formattable& result,
00122 ParsePosition& parsePosition) const U_OVERRIDE;
00123
00133 void parse(const UnicodeString& text, Formattable& result, UErrorCode& status) const U_OVERRIDE;
00134
00135 #ifndef U_HIDE_INTERNAL_API
00136
00156 CurrencyAmount* parseCurrency(const UnicodeString& text, ParsePosition& pos) const U_OVERRIDE;
00157 #endif
00158
00170 static UClassID U_EXPORT2 getStaticClassID();
00171
00183 UClassID getDynamicClassID() const U_OVERRIDE;
00184
00185 private:
00186 CompactDecimalFormat(const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
00187 };
00188
00189 U_NAMESPACE_END
00190
00191 #endif
00192
00193 #endif
00194
00195 #endif // __COMPACT_DECIMAL_FORMAT_H__
00196