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