summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/i18n/currfmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu/source/i18n/currfmt.h')
-rw-r--r--intl/icu/source/i18n/currfmt.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/currfmt.h b/intl/icu/source/i18n/currfmt.h
new file mode 100644
index 000000000..83e027246
--- /dev/null
+++ b/intl/icu/source/i18n/currfmt.h
@@ -0,0 +1,98 @@
+// Copyright (C) 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+**********************************************************************
+* Copyright (c) 2004-2014, International Business Machines
+* Corporation and others. All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 20, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+#ifndef CURRENCYFORMAT_H
+#define CURRENCYFORMAT_H
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/measfmt.h"
+
+U_NAMESPACE_BEGIN
+
+class NumberFormat;
+
+/**
+ * Temporary internal concrete subclass of MeasureFormat implementing
+ * parsing and formatting of currency amount objects. This class is
+ * likely to be redesigned and rewritten in the near future.
+ *
+ * <p>This class currently delegates to DecimalFormat for parsing and
+ * formatting.
+ *
+ * @see MeasureFormat
+ * @author Alan Liu
+ * @internal
+ */
+class CurrencyFormat : public MeasureFormat {
+
+ public:
+
+ /**
+ * Construct a CurrencyFormat for the given locale.
+ */
+ CurrencyFormat(const Locale& locale, UErrorCode& ec);
+
+ /**
+ * Copy constructor.
+ */
+ CurrencyFormat(const CurrencyFormat& other);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CurrencyFormat();
+
+ /**
+ * Override Format API.
+ */
+ virtual Format* clone() const;
+
+
+ using MeasureFormat::format;
+
+ /**
+ * Override Format API.
+ */
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPosition& pos,
+ UErrorCode& ec) const;
+
+ /**
+ * Override Format API.
+ */
+ virtual void parseObject(const UnicodeString& source,
+ Formattable& result,
+ ParsePosition& pos) const;
+
+ /**
+ * Override Format API.
+ */
+ virtual UClassID getDynamicClassID() const;
+
+ /**
+ * Returns the class ID for this class.
+ */
+ static UClassID U_EXPORT2 getStaticClassID();
+
+ private:
+
+ NumberFormat* fmt;
+};
+
+U_NAMESPACE_END
+
+#endif // #if !UCONFIG_NO_FORMATTING
+#endif // #ifndef CURRENCYFORMAT_H