• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 **********************************************************************
3 * Copyright (c) 2004-2006, 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 
43  public:
44 
45     /**
46      * Return a formatter for CurrencyAmount objects in the given
47      * locale.
48      * @param locale desired locale
49      * @param ec input-output error code
50      * @return a formatter object, or NULL upon error
51      * @stable ICU 3.0
52      */
53     static MeasureFormat* U_EXPORT2 createCurrencyFormat(const Locale& locale,
54                                                UErrorCode& ec);
55 
56     /**
57      * Return a formatter for CurrencyAmount objects in the default
58      * locale.
59      * @param ec input-output error code
60      * @return a formatter object, or NULL upon error
61      * @stable ICU 3.0
62      */
63     static MeasureFormat* U_EXPORT2 createCurrencyFormat(UErrorCode& ec);
64 
65  protected:
66 
67     /**
68      * Default constructor.
69      * @stable ICU 3.0
70      */
71     MeasureFormat();
72 };
73 
74 U_NAMESPACE_END
75 
76 #endif // #if !UCONFIG_NO_FORMATTING
77 #endif // #ifndef MEASUREFORMAT_H
78