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