]> git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/unicode/measfmt.h
ICU-491.11.1.tar.gz
[apple/icu.git] / icuSources / 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