ICU 56.1  56.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
compactdecimalformat.h
Go to the documentation of this file.
1 /*
2 ********************************************************************************
3 * Copyright (C) 2012-2015, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 ********************************************************************************
6 *
7 * File COMPACTDECIMALFORMAT.H
8 ********************************************************************************
9 */
10 
11 #ifndef __COMPACT_DECIMAL_FORMAT_H__
12 #define __COMPACT_DECIMAL_FORMAT_H__
13 
14 #include "unicode/utypes.h"
20 #if !UCONFIG_NO_FORMATTING
21 
22 #include "unicode/decimfmt.h"
23 
24 struct UHashtable;
25 
27 
28 class PluralRules;
29 
53 public:
54 
62  static CompactDecimalFormat* U_EXPORT2 createInstance(
63  const Locale& inLocale, UNumberCompactStyle style, UErrorCode& status);
64 
72 
77  virtual ~CompactDecimalFormat();
78 
86 
94  virtual Format* clone() const;
95 
104  virtual UBool operator==(const Format& other) const;
105 
106 
107  using DecimalFormat::format;
108 
120  virtual UnicodeString& format(double number,
121  UnicodeString& appendTo,
122  FieldPosition& pos) const;
123 
136  virtual UnicodeString& format(double number,
137  UnicodeString& appendTo,
138  FieldPosition& pos,
139  UErrorCode &status) const;
140 
155  virtual UnicodeString& format(double number,
156  UnicodeString& appendTo,
157  FieldPositionIterator* posIter,
158  UErrorCode& status) const;
159 
171  virtual UnicodeString& format(int32_t number,
172  UnicodeString& appendTo,
173  FieldPosition& pos) const;
174 
186  virtual UnicodeString& format(int32_t number,
187  UnicodeString& appendTo,
188  FieldPosition& pos,
189  UErrorCode &status) const;
190 
205  virtual UnicodeString& format(int32_t number,
206  UnicodeString& appendTo,
207  FieldPositionIterator* posIter,
208  UErrorCode& status) const;
209 
221  virtual UnicodeString& format(int64_t number,
222  UnicodeString& appendTo,
223  FieldPosition& pos) const;
224 
236  virtual UnicodeString& format(int64_t number,
237  UnicodeString& appendTo,
238  FieldPosition& pos,
239  UErrorCode &status) const;
240 
255  virtual UnicodeString& format(int64_t number,
256  UnicodeString& appendTo,
257  FieldPositionIterator* posIter,
258  UErrorCode& status) const;
259 
276  virtual UnicodeString& format(const StringPiece &number,
277  UnicodeString& appendTo,
278  FieldPositionIterator* posIter,
279  UErrorCode& status) const;
280 
296  virtual UnicodeString& format(const DigitList &number,
297  UnicodeString& appendTo,
298  FieldPositionIterator* posIter,
299  UErrorCode& status) const;
300 
316  virtual UnicodeString& format(const DigitList &number,
317  UnicodeString& appendTo,
318  FieldPosition& pos,
319  UErrorCode& status) const;
320 
330  virtual void parse(const UnicodeString& text,
331  Formattable& result,
332  ParsePosition& parsePosition) const;
333 
343  virtual void parse(const UnicodeString& text,
344  Formattable& result,
345  UErrorCode& status) const;
346 
367  virtual CurrencyAmount* parseCurrency(const UnicodeString& text,
368  ParsePosition& pos) const;
369 
381  static UClassID U_EXPORT2 getStaticClassID();
382 
394  virtual UClassID getDynamicClassID() const;
395 
396 private:
397 
398  const UHashtable* _unitsByVariant;
399  const double* _divisors;
400  PluralRules* _pluralRules;
401 
402  // Default constructor not implemented.
403  CompactDecimalFormat(const DecimalFormat &, const UHashtable* unitsByVariant, const double* divisors, PluralRules* pluralRules);
404 
405  UBool eqHelper(const CompactDecimalFormat& that) const;
406 };
407 
409 
410 #endif /* #if !UCONFIG_NO_FORMATTING */
411 
412 #endif // __COMPACT_DECIMAL_FORMAT_H__
413 //eof