Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / icu / source / i18n / unicode / measfmt.h
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