ICU 73.2  73.2
compactdecimalformat.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 ********************************************************************************
00005 *   Copyright (C) 2012-2016, International Business Machines
00006 *   Corporation and others.  All Rights Reserved.
00007 ********************************************************************************
00008 *
00009 * File COMPACTDECIMALFORMAT.H
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() override;
00092 
00099     CompactDecimalFormat& operator=(const CompactDecimalFormat& rhs);
00100 
00108     CompactDecimalFormat* clone() const override;
00109 
00110     using DecimalFormat::format;
00111 
00121     void parse(const UnicodeString& text, Formattable& result,
00122                ParsePosition& parsePosition) const override;
00123 
00133     void parse(const UnicodeString& text, Formattable& result, UErrorCode& status) const override;
00134 
00135 #ifndef U_HIDE_INTERNAL_API
00136 
00156     CurrencyAmount* parseCurrency(const UnicodeString& text, ParsePosition& pos) const override;
00157 #endif  /* U_HIDE_INTERNAL_API */
00158 
00170     static UClassID U_EXPORT2 getStaticClassID();
00171 
00183     UClassID getDynamicClassID() const override;
00184 
00185   private:
00186     CompactDecimalFormat(const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
00187 };
00188 
00189 U_NAMESPACE_END
00190 
00191 #endif /* #if !UCONFIG_NO_FORMATTING */
00192 
00193 #endif /* U_SHOW_CPLUSPLUS_API */
00194 
00195 #endif // __COMPACT_DECIMAL_FORMAT_H__
00196 //eof