ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
compactdecimalformat.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 ********************************************************************************
5 * Copyright (C) 2012-2016, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 ********************************************************************************
8 *
9 * File COMPACTDECIMALFORMAT.H
10 ********************************************************************************
11 */
12 
13 #ifndef __COMPACT_DECIMAL_FORMAT_H__
14 #define __COMPACT_DECIMAL_FORMAT_H__
15 
16 #include "unicode/utypes.h"
17 
18 #if U_SHOW_CPLUSPLUS_API
19 
25 #if !UCONFIG_NO_FORMATTING
26 
27 #include "unicode/decimfmt.h"
28 
29 struct UHashtable;
30 
31 U_NAMESPACE_BEGIN
32 
33 class PluralRules;
34 
64 public:
65 
77  const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
78 
86 
92 
100 
108  CompactDecimalFormat* clone() const override;
109 
110  using DecimalFormat::format;
111 
121  void parse(const UnicodeString& text, Formattable& result,
122  ParsePosition& parsePosition) const override;
123 
133  void parse(const UnicodeString& text, Formattable& result, UErrorCode& status) const override;
134 
135 #ifndef U_HIDE_INTERNAL_API
156  CurrencyAmount* parseCurrency(const UnicodeString& text, ParsePosition& pos) const override;
157 #endif /* U_HIDE_INTERNAL_API */
158 
170  static UClassID U_EXPORT2 getStaticClassID();
171 
183  UClassID getDynamicClassID() const override;
184 
185  private:
186  CompactDecimalFormat(const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
187 };
188 
189 U_NAMESPACE_END
190 
191 #endif /* #if !UCONFIG_NO_FORMATTING */
192 
193 #endif /* U_SHOW_CPLUSPLUS_API */
194 
195 #endif // __COMPACT_DECIMAL_FORMAT_H__
196 //eof
IMPORTANT: New users are strongly encouraged to see if numberformatter.h fits their use case.
CurrencyAmount * parseCurrency(const UnicodeString &text, ParsePosition &pos) const override
Parses text from the given string as a currency amount.
void parse(const UnicodeString &text, Formattable &result, UErrorCode &status) const override
CompactDecimalFormat does not support parsing.
UClassID getDynamicClassID() const override
Returns a unique class ID POLYMORPHICALLY.
void parse(const UnicodeString &text, Formattable &result, ParsePosition &parsePosition) const override
CompactDecimalFormat does not support parsing.
~CompactDecimalFormat() override
Destructor.
CompactDecimalFormat(const CompactDecimalFormat &source)
Copy constructor.
CompactDecimalFormat * clone() const override
Clone this Format object polymorphically.
static CompactDecimalFormat * createInstance(const Locale &inLocale, UNumberCompactStyle style, UErrorCode &status)
Returns a compact decimal instance for specified locale.
CompactDecimalFormat & operator=(const CompactDecimalFormat &rhs)
Assignment operator.
static UClassID getStaticClassID()
Return the class ID for this class.
A currency together with a numeric amount, such as 200 USD.
Definition: curramt.h:39
IMPORTANT: New users are strongly encouraged to see if numberformatter.h fits their use case.
Definition: decimfmt.h:666
virtual UnicodeString & format(const Formattable &obj, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const override
Format an object to produce a string.
Formattable objects can be passed to the Format class or its subclasses for formatting.
Definition: fmtable.h:63
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:195
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
Definition: parsepos.h:52
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:296
C++ API: Compatibility APIs for decimal formatting.
struct UHashtable UHashtable
Definition: msgfmt.h:43
UNumberCompactStyle
Constants for specifying short or long format.
Definition: unum.h:289
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:96
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:430
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition: utypes.h:316