• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 **********************************************************************
3 * Copyright (c) 2004-2011, International Business Machines
4 * Corporation and others.  All Rights Reserved.
5 **********************************************************************
6 * Author: Alan Liu
7 * Created: April 20, 2004
8 * Since: ICU 3.0
9 **********************************************************************
10 */
11 #ifndef MEASUREFORMAT_H
12 #define MEASUREFORMAT_H
13 
14 #include "unicode/utypes.h"
15 
16 #if !UCONFIG_NO_FORMATTING
17 
18 #include "unicode/format.h"
19 
20 /**
21  * \file
22  * \brief C++ API: Formatter for measure objects.
23  */
24 
25 U_NAMESPACE_BEGIN
26 
27 /**
28  *
29  * A formatter for measure objects.  This is an abstract base class.
30  *
31  * <p>To format or parse a measure object, first create a formatter
32  * object using a MeasureFormat factory method.  Then use that
33  * object's format and parse methods.
34  *
35  * <p>This is an abstract class.
36  *
37  * @see Format
38  * @author Alan Liu
39  * @stable ICU 3.0
40  */
41 class U_I18N_API MeasureFormat : public Format {
42  public:
43     /**
44      * Destructor.
45      * @stable ICU 3.0
46      */
47     virtual ~MeasureFormat();
48 
49     /**
50      * Return a formatter for CurrencyAmount objects in the given
51      * locale.
52      * @param locale desired locale
53      * @param ec input-output error code
54      * @return a formatter object, or NULL upon error
55      * @stable ICU 3.0
56      */
57     static MeasureFormat* U_EXPORT2 createCurrencyFormat(const Locale& locale,
58                                                UErrorCode& ec);
59 
60     /**
61      * Return a formatter for CurrencyAmount objects in the default
62      * locale.
63      * @param ec input-output error code
64      * @return a formatter object, or NULL upon error
65      * @stable ICU 3.0
66      */
67     static MeasureFormat* U_EXPORT2 createCurrencyFormat(UErrorCode& ec);
68 
69  protected:
70 
71     /**
72      * Default constructor.
73      * @stable ICU 3.0
74      */
75     MeasureFormat();
76 };
77 
78 U_NAMESPACE_END
79 
80 #endif // #if !UCONFIG_NO_FORMATTING
81 #endif // #ifndef MEASUREFORMAT_H
82