]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/unicode/currunit.h
ICU-62107.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / unicode / currunit.h
index 82a1ac691accd87e55839475e7c6967605ac3e08..7df4e3464d1a70724c9e66ba5679dd92a4749bfd 100644 (file)
@@ -37,10 +37,17 @@ U_NAMESPACE_BEGIN
  */
 class U_I18N_API CurrencyUnit: public MeasureUnit {
  public:
+    /**
+     * Default constructor.  Initializes currency code to "XXX" (no currency).
+     * @draft ICU 60
+     */
+    CurrencyUnit();
+
     /**
      * Construct an object with the given ISO currency code.
-     * @param isoCode the 3-letter ISO 4217 currency code; must not be
-     * NULL and must have length 3
+     * @param isoCode the 3-letter ISO 4217 currency code; must have
+     * length 3 and need not be NUL-terminated. If NULL, the currency
+     * is initialized to the unknown currency XXX.
      * @param ec input-output error code. If the isoCode is invalid,
      * then this will be set to a failing value.
      * @stable ICU 3.0
@@ -53,6 +60,18 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
      */
     CurrencyUnit(const CurrencyUnit& other);
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Copy constructor from MeasureUnit. This constructor allows you to
+     * restore a CurrencyUnit that was sliced to MeasureUnit.
+     *
+     * @param measureUnit The MeasureUnit to copy from.
+     * @param ec Set to a failing value if the MeasureUnit is not a currency.
+     * @draft ICU 60
+     */
+    CurrencyUnit(const MeasureUnit& measureUnit, UErrorCode &ec);
+#endif  /* U_HIDE_DRAFT_API */
+
     /**
      * Assignment operator
      * @stable ICU 3.0