]> granicus.if.org Git - icu/commitdiff
ICU-20438 64rc BRS, update U_HIDE_ conditionals
authorPeter Edberg <pedberg@unicode.org>
Tue, 26 Feb 2019 22:36:45 +0000 (14:36 -0800)
committerpedberg-icu <42151464+pedberg-icu@users.noreply.github.com>
Wed, 27 Feb 2019 00:32:24 +0000 (16:32 -0800)
16 files changed:
icu4c/source/common/unicode/localebuilder.h
icu4c/source/common/unicode/localpointer.h
icu4c/source/i18n/unicode/currunit.h
icu4c/source/i18n/unicode/decimfmt.h
icu4c/source/i18n/unicode/dtptngen.h
icu4c/source/i18n/unicode/formattedvalue.h
icu4c/source/i18n/unicode/measunit.h
icu4c/source/i18n/unicode/nounit.h
icu4c/source/i18n/unicode/numberformatter.h
icu4c/source/i18n/unicode/numsys.h
icu4c/source/i18n/unicode/plurrule.h
icu4c/source/i18n/unicode/reldatefmt.h
icu4c/source/i18n/unicode/uformattedvalue.h
icu4c/source/i18n/unicode/unum.h
icu4c/source/i18n/unicode/upluralrules.h
icu4c/source/i18n/unicode/ureldatefmt.h

index 8cd2039b3c5d306ab1ef92d010f42149840caf93..61f69fd5ec7a45c41998cb44542b6a0f6b49f516 100644 (file)
@@ -9,6 +9,7 @@
 #include "unicode/utypes.h"
 
 
+#ifndef U_HIDE_DRAFT_API
 /**
  * \file
  * \brief C++ API: Builder API for Locale
@@ -17,7 +18,6 @@
 U_NAMESPACE_BEGIN
 class CharString;
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * <code>LocaleBuilder</code> is used to build instances of <code>Locale</code>
  * from values configured by the setters.  Unlike the <code>Locale</code>
@@ -281,8 +281,8 @@ private:
     icu::Locale *extensions_;  // Pointer not object. Storage for all other fields.
 
 };
-#endif  // U_HIDE_DRAFT_API
 
 U_NAMESPACE_END
 
+#endif  // U_HIDE_DRAFT_API
 #endif  // __LOCALEBUILDER_H__
index 94ed3657fba4fe4666c78bc7fa10d0032d3246ce..e011688b1a54df61696c868dc85754c65ccb9f8b 100644 (file)
@@ -224,6 +224,8 @@ public:
     LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) {
         src.ptr=NULL;
     }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Constructs a LocalPointer from a C++11 std::unique_ptr.
      * The LocalPointer steals the object owned by the std::unique_ptr.
@@ -236,6 +238,8 @@ public:
      */
     explicit LocalPointer(std::unique_ptr<T> &&p)
         : LocalPointerBase<T>(p.release()) {}
+#endif  /* U_HIDE_DRAFT_API */
+
     /**
      * Destructor deletes the object it owns.
      * @stable ICU 4.4
@@ -256,6 +260,8 @@ public:
         src.ptr=NULL;
         return *this;
     }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Move-assign from an std::unique_ptr to this LocalPointer.
      * Steals the pointer from the std::unique_ptr.
@@ -268,6 +274,8 @@ public:
         adoptInstead(p.release());
         return *this;
     }
+#endif  /* U_HIDE_DRAFT_API */
+
     /**
      * Swap pointers.
      * @param other other smart pointer
@@ -323,6 +331,8 @@ public:
             delete p;
         }
     }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Conversion operator to a C++11 std::unique_ptr.
      * Disowns the object and gives it to the returned std::unique_ptr.
@@ -337,6 +347,7 @@ public:
     operator std::unique_ptr<T> () && {
         return std::unique_ptr<T>(LocalPointerBase<T>::orphan());
     }
+#endif  /* U_HIDE_DRAFT_API */
 };
 
 /**
@@ -394,6 +405,8 @@ public:
     LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) {
         src.ptr=NULL;
     }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Constructs a LocalArray from a C++11 std::unique_ptr of an array type.
      * The LocalPointer steals the array owned by the std::unique_ptr.
@@ -406,6 +419,8 @@ public:
      */
     explicit LocalArray(std::unique_ptr<T[]> &&p)
         : LocalPointerBase<T>(p.release()) {}
+#endif  /* U_HIDE_DRAFT_API */
+
     /**
      * Destructor deletes the array it owns.
      * @stable ICU 4.4
@@ -426,6 +441,8 @@ public:
         src.ptr=NULL;
         return *this;
     }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Move-assign from an std::unique_ptr to this LocalPointer.
      * Steals the array from the std::unique_ptr.
@@ -438,6 +455,8 @@ public:
         adoptInstead(p.release());
         return *this;
     }
+#endif  /* U_HIDE_DRAFT_API */
+
     /**
      * Swap pointers.
      * @param other other smart pointer
@@ -501,6 +520,8 @@ public:
      * @stable ICU 4.4
      */
     T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
+
+#ifndef U_HIDE_DRAFT_API
     /**
      * Conversion operator to a C++11 std::unique_ptr.
      * Disowns the object and gives it to the returned std::unique_ptr.
@@ -515,6 +536,7 @@ public:
     operator std::unique_ptr<T[]> () && {
         return std::unique_ptr<T[]>(LocalPointerBase<T>::orphan());
     }
+#endif  /* U_HIDE_DRAFT_API */
 };
 
 /**
index bf6bd9ac3238e3ed1de0ac4f40414cf50dd366fc..408d8d359f3b60b6096f50613bc87b5855223abe 100644 (file)
@@ -54,6 +54,7 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
      */
     CurrencyUnit(ConstChar16Ptr isoCode, UErrorCode &ec);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Construct an object with the given ISO currency code.
      *
@@ -64,6 +65,7 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
      * @draft ICU 64
      */
     CurrencyUnit(StringPiece isoCode, UErrorCode &ec);
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Copy constructor
index e53a71bba653e8b0dd0d48d2d1063b26852ce644..6b6a9399961998d5d614b4e91c5dd321024f57cc 100644 (file)
@@ -2111,7 +2111,9 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * @draft ICU 64
      */
     const number::LocalizedNumberFormatter* toNumberFormatter(UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DEPRECATED_API
     /**
      * Deprecated: Like {@link #toNumberFormatter(UErrorCode&) const},
      * but does not take an error code.
@@ -2125,7 +2127,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * @deprecated ICU 64
      */
     const number::LocalizedNumberFormatter& toNumberFormatter() const;
-#endif  /* U_HIDE_DRAFT_API */
+#endif  /* U_HIDE_DEPRECATED_API */
 
     /**
      * Return the class ID for this class.  This is useful only for
index 26ccc64060f15afd215f039b3e22fc62c62adb81..51479708ddd6855349215f97fa50f95764c7420a 100644 (file)
@@ -564,6 +564,7 @@ private:
     void setDecimalSymbols(const Locale& locale, UErrorCode& status);
     UDateTimePatternField getAppendFormatNumber(const char* field) const;
 #ifndef U_HIDE_DRAFT_API
+    // The following three have to be U_HIDE_DRAFT_API (though private) because UDateTimePGDisplayWidth is
     UDateTimePatternField getFieldAndWidthIndices(const char* key, UDateTimePGDisplayWidth* widthP) const;
     void setFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width, const UnicodeString& value);
     UnicodeString& getMutableFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width);
index 4d6deaf6baacc9bfb1f8a41d3b3cf536e6f596ce..c99bf8794bf2677f86cca5a5f3d152f42959f887 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "unicode/utypes.h"
 #if !UCONFIG_NO_FORMATTING
+#ifndef U_HIDE_DRAFT_API
 
 #include "unicode/appendable.h"
 #include "unicode/fpositer.h"
@@ -310,5 +311,6 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter
 
 U_NAMESPACE_END
 
+#endif  /* U_HIDE_DRAFT_API */
 #endif /* #if !UCONFIG_NO_FORMATTING */
 #endif // __FORMATTEDVALUE_H__
index ea21f92899b242931f7d9eded574e151f6b044de..9eaa40a55d5512720985f99a959d65efa3ae5d5e 100644 (file)
@@ -217,12 +217,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGForce(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of acceleration: g-force.
      * Also see {@link #createGForce()}.
      * @draft ICU 64
      */
     static MeasureUnit getGForce();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of acceleration: meter-per-second-squared.
@@ -233,12 +235,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of acceleration: meter-per-second-squared.
      * Also see {@link #createMeterPerSecondSquared()}.
      * @draft ICU 64
      */
     static MeasureUnit getMeterPerSecondSquared();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: arc-minute.
@@ -249,12 +253,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createArcMinute(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: arc-minute.
      * Also see {@link #createArcMinute()}.
      * @draft ICU 64
      */
     static MeasureUnit getArcMinute();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: arc-second.
@@ -265,12 +271,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createArcSecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: arc-second.
      * Also see {@link #createArcSecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getArcSecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: degree.
@@ -281,12 +289,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDegree(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: degree.
      * Also see {@link #createDegree()}.
      * @draft ICU 64
      */
     static MeasureUnit getDegree();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: radian.
@@ -297,12 +307,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createRadian(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: radian.
      * Also see {@link #createRadian()}.
      * @draft ICU 64
      */
     static MeasureUnit getRadian();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: revolution.
@@ -313,12 +325,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createRevolutionAngle(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: revolution.
      * Also see {@link #createRevolutionAngle()}.
      * @draft ICU 64
      */
     static MeasureUnit getRevolutionAngle();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: acre.
@@ -329,12 +343,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAcre(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: acre.
      * Also see {@link #createAcre()}.
      * @draft ICU 64
      */
     static MeasureUnit getAcre();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -363,12 +379,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectare(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: hectare.
      * Also see {@link #createHectare()}.
      * @draft ICU 64
      */
     static MeasureUnit getHectare();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-centimeter.
@@ -379,12 +397,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareCentimeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-centimeter.
      * Also see {@link #createSquareCentimeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareCentimeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-foot.
@@ -395,12 +415,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareFoot(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-foot.
      * Also see {@link #createSquareFoot()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareFoot();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-inch.
@@ -411,12 +433,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareInch(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-inch.
      * Also see {@link #createSquareInch()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareInch();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-kilometer.
@@ -427,12 +451,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareKilometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-kilometer.
      * Also see {@link #createSquareKilometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareKilometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-meter.
@@ -443,12 +469,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareMeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-meter.
      * Also see {@link #createSquareMeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareMeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-mile.
@@ -459,12 +487,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareMile(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-mile.
      * Also see {@link #createSquareMile()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareMile();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-yard.
@@ -475,12 +505,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareYard(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-yard.
      * Also see {@link #createSquareYard()}.
      * @draft ICU 64
      */
     static MeasureUnit getSquareYard();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: karat.
@@ -491,12 +523,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKarat(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: karat.
      * Also see {@link #createKarat()}.
      * @draft ICU 64
      */
     static MeasureUnit getKarat();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: milligram-per-deciliter.
@@ -507,12 +541,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: milligram-per-deciliter.
      * Also see {@link #createMilligramPerDeciliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilligramPerDeciliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: millimole-per-liter.
@@ -523,12 +559,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimolePerLiter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: millimole-per-liter.
      * Also see {@link #createMillimolePerLiter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMillimolePerLiter();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -557,12 +595,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPartPerMillion(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: part-per-million.
      * Also see {@link #createPartPerMillion()}.
      * @draft ICU 64
      */
     static MeasureUnit getPartPerMillion();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -573,7 +613,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createPercent(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: percent.
      * Also see {@link #createPercent()}.
@@ -591,7 +633,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createPermille(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: permille.
      * Also see {@link #createPermille()}.
@@ -627,12 +671,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: liter-per-100kilometers.
      * Also see {@link #createLiterPer100Kilometers()}.
      * @draft ICU 64
      */
     static MeasureUnit getLiterPer100Kilometers();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: liter-per-kilometer.
@@ -643,12 +689,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiterPerKilometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: liter-per-kilometer.
      * Also see {@link #createLiterPerKilometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getLiterPerKilometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: mile-per-gallon.
@@ -659,12 +707,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerGallon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: mile-per-gallon.
      * Also see {@link #createMilePerGallon()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilePerGallon();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: mile-per-gallon-imperial.
@@ -675,12 +725,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerGallonImperial(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: mile-per-gallon-imperial.
      * Also see {@link #createMilePerGallonImperial()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilePerGallonImperial();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: bit.
@@ -691,12 +743,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createBit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: bit.
      * Also see {@link #createBit()}.
      * @draft ICU 64
      */
     static MeasureUnit getBit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: byte.
@@ -707,12 +761,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createByte(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: byte.
      * Also see {@link #createByte()}.
      * @draft ICU 64
      */
     static MeasureUnit getByte();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: gigabit.
@@ -723,12 +779,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigabit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: gigabit.
      * Also see {@link #createGigabit()}.
      * @draft ICU 64
      */
     static MeasureUnit getGigabit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: gigabyte.
@@ -739,12 +797,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigabyte(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: gigabyte.
      * Also see {@link #createGigabyte()}.
      * @draft ICU 64
      */
     static MeasureUnit getGigabyte();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: kilobit.
@@ -755,12 +815,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilobit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: kilobit.
      * Also see {@link #createKilobit()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilobit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: kilobyte.
@@ -771,12 +833,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilobyte(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: kilobyte.
      * Also see {@link #createKilobyte()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilobyte();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: megabit.
@@ -787,12 +851,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegabit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: megabit.
      * Also see {@link #createMegabit()}.
      * @draft ICU 64
      */
     static MeasureUnit getMegabit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: megabyte.
@@ -803,12 +869,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegabyte(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: megabyte.
      * Also see {@link #createMegabyte()}.
      * @draft ICU 64
      */
     static MeasureUnit getMegabyte();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -819,7 +887,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createPetabyte(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: petabyte.
      * Also see {@link #createPetabyte()}.
@@ -837,12 +907,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTerabit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: terabit.
      * Also see {@link #createTerabit()}.
      * @draft ICU 64
      */
     static MeasureUnit getTerabit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: terabyte.
@@ -853,12 +925,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTerabyte(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: terabyte.
      * Also see {@link #createTerabyte()}.
      * @draft ICU 64
      */
     static MeasureUnit getTerabyte();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: century.
@@ -869,12 +943,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentury(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: century.
      * Also see {@link #createCentury()}.
      * @draft ICU 64
      */
     static MeasureUnit getCentury();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: day.
@@ -885,12 +961,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDay(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: day.
      * Also see {@link #createDay()}.
      * @draft ICU 64
      */
     static MeasureUnit getDay();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -901,7 +979,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createDayPerson(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: day-person.
      * Also see {@link #createDayPerson()}.
@@ -919,12 +999,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHour(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: hour.
      * Also see {@link #createHour()}.
      * @draft ICU 64
      */
     static MeasureUnit getHour();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: microsecond.
@@ -935,12 +1017,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrosecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: microsecond.
      * Also see {@link #createMicrosecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getMicrosecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: millisecond.
@@ -951,12 +1035,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillisecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: millisecond.
      * Also see {@link #createMillisecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getMillisecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: minute.
@@ -967,12 +1053,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMinute(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: minute.
      * Also see {@link #createMinute()}.
      * @draft ICU 64
      */
     static MeasureUnit getMinute();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: month.
@@ -983,12 +1071,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMonth(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: month.
      * Also see {@link #createMonth()}.
      * @draft ICU 64
      */
     static MeasureUnit getMonth();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -999,7 +1089,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createMonthPerson(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: month-person.
      * Also see {@link #createMonthPerson()}.
@@ -1017,12 +1109,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNanosecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: nanosecond.
      * Also see {@link #createNanosecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getNanosecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: second.
@@ -1033,12 +1127,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: second.
      * Also see {@link #createSecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getSecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: week.
@@ -1049,12 +1145,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createWeek(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: week.
      * Also see {@link #createWeek()}.
      * @draft ICU 64
      */
     static MeasureUnit getWeek();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1065,7 +1163,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createWeekPerson(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: week-person.
      * Also see {@link #createWeekPerson()}.
@@ -1083,12 +1183,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createYear(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: year.
      * Also see {@link #createYear()}.
      * @draft ICU 64
      */
     static MeasureUnit getYear();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1099,7 +1201,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createYearPerson(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: year-person.
      * Also see {@link #createYearPerson()}.
@@ -1117,12 +1221,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAmpere(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: ampere.
      * Also see {@link #createAmpere()}.
      * @draft ICU 64
      */
     static MeasureUnit getAmpere();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: milliampere.
@@ -1133,12 +1239,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliampere(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: milliampere.
      * Also see {@link #createMilliampere()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilliampere();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: ohm.
@@ -1149,12 +1257,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOhm(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: ohm.
      * Also see {@link #createOhm()}.
      * @draft ICU 64
      */
     static MeasureUnit getOhm();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: volt.
@@ -1165,12 +1275,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createVolt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: volt.
      * Also see {@link #createVolt()}.
      * @draft ICU 64
      */
     static MeasureUnit getVolt();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1199,12 +1311,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCalorie(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: calorie.
      * Also see {@link #createCalorie()}.
      * @draft ICU 64
      */
     static MeasureUnit getCalorie();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1233,12 +1347,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFoodcalorie(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: foodcalorie.
      * Also see {@link #createFoodcalorie()}.
      * @draft ICU 64
      */
     static MeasureUnit getFoodcalorie();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: joule.
@@ -1249,12 +1365,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createJoule(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: joule.
      * Also see {@link #createJoule()}.
      * @draft ICU 64
      */
     static MeasureUnit getJoule();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilocalorie.
@@ -1265,12 +1383,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilocalorie(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilocalorie.
      * Also see {@link #createKilocalorie()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilocalorie();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilojoule.
@@ -1281,12 +1401,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilojoule(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilojoule.
      * Also see {@link #createKilojoule()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilojoule();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilowatt-hour.
@@ -1297,12 +1419,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilowattHour(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilowatt-hour.
      * Also see {@link #createKilowattHour()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilowattHour();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1349,12 +1473,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigahertz(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: gigahertz.
      * Also see {@link #createGigahertz()}.
      * @draft ICU 64
      */
     static MeasureUnit getGigahertz();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: hertz.
@@ -1365,12 +1491,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHertz(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: hertz.
      * Also see {@link #createHertz()}.
      * @draft ICU 64
      */
     static MeasureUnit getHertz();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: kilohertz.
@@ -1381,12 +1509,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilohertz(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: kilohertz.
      * Also see {@link #createKilohertz()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilohertz();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: megahertz.
@@ -1397,12 +1527,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegahertz(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: megahertz.
      * Also see {@link #createMegahertz()}.
      * @draft ICU 64
      */
     static MeasureUnit getMegahertz();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: astronomical-unit.
@@ -1413,12 +1545,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAstronomicalUnit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: astronomical-unit.
      * Also see {@link #createAstronomicalUnit()}.
      * @draft ICU 64
      */
     static MeasureUnit getAstronomicalUnit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: centimeter.
@@ -1429,12 +1563,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentimeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: centimeter.
      * Also see {@link #createCentimeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getCentimeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: decimeter.
@@ -1445,12 +1581,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDecimeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: decimeter.
      * Also see {@link #createDecimeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getDecimeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: fathom.
@@ -1461,12 +1599,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFathom(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: fathom.
      * Also see {@link #createFathom()}.
      * @draft ICU 64
      */
     static MeasureUnit getFathom();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: foot.
@@ -1477,12 +1617,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFoot(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: foot.
      * Also see {@link #createFoot()}.
      * @draft ICU 64
      */
     static MeasureUnit getFoot();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: furlong.
@@ -1493,12 +1635,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFurlong(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: furlong.
      * Also see {@link #createFurlong()}.
      * @draft ICU 64
      */
     static MeasureUnit getFurlong();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: inch.
@@ -1509,12 +1653,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createInch(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: inch.
      * Also see {@link #createInch()}.
      * @draft ICU 64
      */
     static MeasureUnit getInch();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: kilometer.
@@ -1525,12 +1671,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: kilometer.
      * Also see {@link #createKilometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: light-year.
@@ -1541,12 +1689,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLightYear(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: light-year.
      * Also see {@link #createLightYear()}.
      * @draft ICU 64
      */
     static MeasureUnit getLightYear();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: meter.
@@ -1557,12 +1707,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: meter.
      * Also see {@link #createMeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: micrometer.
@@ -1573,12 +1725,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: micrometer.
      * Also see {@link #createMicrometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getMicrometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: mile.
@@ -1589,12 +1743,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMile(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: mile.
      * Also see {@link #createMile()}.
      * @draft ICU 64
      */
     static MeasureUnit getMile();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: mile-scandinavian.
@@ -1605,12 +1761,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMileScandinavian(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: mile-scandinavian.
      * Also see {@link #createMileScandinavian()}.
      * @draft ICU 64
      */
     static MeasureUnit getMileScandinavian();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: millimeter.
@@ -1621,12 +1779,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: millimeter.
      * Also see {@link #createMillimeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMillimeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: nanometer.
@@ -1637,12 +1797,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNanometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: nanometer.
      * Also see {@link #createNanometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getNanometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: nautical-mile.
@@ -1653,12 +1815,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNauticalMile(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: nautical-mile.
      * Also see {@link #createNauticalMile()}.
      * @draft ICU 64
      */
     static MeasureUnit getNauticalMile();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: parsec.
@@ -1669,12 +1833,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createParsec(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: parsec.
      * Also see {@link #createParsec()}.
      * @draft ICU 64
      */
     static MeasureUnit getParsec();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: picometer.
@@ -1685,12 +1851,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPicometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: picometer.
      * Also see {@link #createPicometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getPicometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: point.
@@ -1701,12 +1869,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPoint(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: point.
      * Also see {@link #createPoint()}.
      * @draft ICU 64
      */
     static MeasureUnit getPoint();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1735,12 +1905,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createYard(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: yard.
      * Also see {@link #createYard()}.
      * @draft ICU 64
      */
     static MeasureUnit getYard();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of light: lux.
@@ -1751,12 +1923,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLux(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of light: lux.
      * Also see {@link #createLux()}.
      * @draft ICU 64
      */
     static MeasureUnit getLux();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1785,12 +1959,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCarat(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: carat.
      * Also see {@link #createCarat()}.
      * @draft ICU 64
      */
     static MeasureUnit getCarat();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1837,12 +2013,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGram(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: gram.
      * Also see {@link #createGram()}.
      * @draft ICU 64
      */
     static MeasureUnit getGram();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: kilogram.
@@ -1853,12 +2031,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilogram(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: kilogram.
      * Also see {@link #createKilogram()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilogram();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: metric-ton.
@@ -1869,12 +2049,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMetricTon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: metric-ton.
      * Also see {@link #createMetricTon()}.
      * @draft ICU 64
      */
     static MeasureUnit getMetricTon();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: microgram.
@@ -1885,12 +2067,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrogram(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: microgram.
      * Also see {@link #createMicrogram()}.
      * @draft ICU 64
      */
     static MeasureUnit getMicrogram();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: milligram.
@@ -1901,12 +2085,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilligram(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: milligram.
      * Also see {@link #createMilligram()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilligram();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ounce.
@@ -1917,12 +2103,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOunce(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ounce.
      * Also see {@link #createOunce()}.
      * @draft ICU 64
      */
     static MeasureUnit getOunce();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ounce-troy.
@@ -1933,12 +2121,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOunceTroy(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ounce-troy.
      * Also see {@link #createOunceTroy()}.
      * @draft ICU 64
      */
     static MeasureUnit getOunceTroy();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: pound.
@@ -1949,12 +2139,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPound(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: pound.
      * Also see {@link #createPound()}.
      * @draft ICU 64
      */
     static MeasureUnit getPound();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1983,12 +2175,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createStone(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: stone.
      * Also see {@link #createStone()}.
      * @draft ICU 64
      */
     static MeasureUnit getStone();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ton.
@@ -1999,12 +2193,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ton.
      * Also see {@link #createTon()}.
      * @draft ICU 64
      */
     static MeasureUnit getTon();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: gigawatt.
@@ -2015,12 +2211,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigawatt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: gigawatt.
      * Also see {@link #createGigawatt()}.
      * @draft ICU 64
      */
     static MeasureUnit getGigawatt();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: horsepower.
@@ -2031,12 +2229,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHorsepower(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: horsepower.
      * Also see {@link #createHorsepower()}.
      * @draft ICU 64
      */
     static MeasureUnit getHorsepower();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: kilowatt.
@@ -2047,12 +2247,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilowatt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: kilowatt.
      * Also see {@link #createKilowatt()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilowatt();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: megawatt.
@@ -2063,12 +2265,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegawatt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: megawatt.
      * Also see {@link #createMegawatt()}.
      * @draft ICU 64
      */
     static MeasureUnit getMegawatt();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: milliwatt.
@@ -2079,12 +2283,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliwatt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: milliwatt.
      * Also see {@link #createMilliwatt()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilliwatt();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: watt.
@@ -2095,12 +2301,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createWatt(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: watt.
      * Also see {@link #createWatt()}.
      * @draft ICU 64
      */
     static MeasureUnit getWatt();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2111,7 +2319,9 @@ class U_I18N_API MeasureUnit: public UObject {
      * @draft ICU 63
      */
     static MeasureUnit *createAtmosphere(UErrorCode &status);
+#endif  /* U_HIDE_DRAFT_API */
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: atmosphere.
      * Also see {@link #createAtmosphere()}.
@@ -2129,12 +2339,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectopascal(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: hectopascal.
      * Also see {@link #createHectopascal()}.
      * @draft ICU 64
      */
     static MeasureUnit getHectopascal();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of pressure: inch-hg.
@@ -2145,12 +2357,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createInchHg(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: inch-hg.
      * Also see {@link #createInchHg()}.
      * @draft ICU 64
      */
     static MeasureUnit getInchHg();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2197,12 +2411,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillibar(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: millibar.
      * Also see {@link #createMillibar()}.
      * @draft ICU 64
      */
     static MeasureUnit getMillibar();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of pressure: millimeter-of-mercury.
@@ -2213,12 +2429,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimeterOfMercury(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: millimeter-of-mercury.
      * Also see {@link #createMillimeterOfMercury()}.
      * @draft ICU 64
      */
     static MeasureUnit getMillimeterOfMercury();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of pressure: pound-per-square-inch.
@@ -2229,12 +2447,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPoundPerSquareInch(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: pound-per-square-inch.
      * Also see {@link #createPoundPerSquareInch()}.
      * @draft ICU 64
      */
     static MeasureUnit getPoundPerSquareInch();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: kilometer-per-hour.
@@ -2245,12 +2465,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilometerPerHour(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: kilometer-per-hour.
      * Also see {@link #createKilometerPerHour()}.
      * @draft ICU 64
      */
     static MeasureUnit getKilometerPerHour();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: knot.
@@ -2261,12 +2483,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKnot(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: knot.
      * Also see {@link #createKnot()}.
      * @draft ICU 64
      */
     static MeasureUnit getKnot();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: meter-per-second.
@@ -2277,12 +2501,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeterPerSecond(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: meter-per-second.
      * Also see {@link #createMeterPerSecond()}.
      * @draft ICU 64
      */
     static MeasureUnit getMeterPerSecond();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: mile-per-hour.
@@ -2293,12 +2519,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerHour(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: mile-per-hour.
      * Also see {@link #createMilePerHour()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilePerHour();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: celsius.
@@ -2309,12 +2537,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCelsius(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: celsius.
      * Also see {@link #createCelsius()}.
      * @draft ICU 64
      */
     static MeasureUnit getCelsius();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: fahrenheit.
@@ -2325,12 +2555,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFahrenheit(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: fahrenheit.
      * Also see {@link #createFahrenheit()}.
      * @draft ICU 64
      */
     static MeasureUnit getFahrenheit();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: generic.
@@ -2341,12 +2573,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGenericTemperature(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: generic.
      * Also see {@link #createGenericTemperature()}.
      * @draft ICU 64
      */
     static MeasureUnit getGenericTemperature();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: kelvin.
@@ -2357,12 +2591,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKelvin(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: kelvin.
      * Also see {@link #createKelvin()}.
      * @draft ICU 64
      */
     static MeasureUnit getKelvin();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2409,12 +2645,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAcreFoot(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: acre-foot.
      * Also see {@link #createAcreFoot()}.
      * @draft ICU 64
      */
     static MeasureUnit getAcreFoot();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2443,12 +2681,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createBushel(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: bushel.
      * Also see {@link #createBushel()}.
      * @draft ICU 64
      */
     static MeasureUnit getBushel();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: centiliter.
@@ -2459,12 +2699,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentiliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: centiliter.
      * Also see {@link #createCentiliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getCentiliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-centimeter.
@@ -2475,12 +2717,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicCentimeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-centimeter.
      * Also see {@link #createCubicCentimeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicCentimeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-foot.
@@ -2491,12 +2735,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicFoot(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-foot.
      * Also see {@link #createCubicFoot()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicFoot();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-inch.
@@ -2507,12 +2753,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicInch(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-inch.
      * Also see {@link #createCubicInch()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicInch();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-kilometer.
@@ -2523,12 +2771,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicKilometer(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-kilometer.
      * Also see {@link #createCubicKilometer()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicKilometer();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-meter.
@@ -2539,12 +2789,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicMeter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-meter.
      * Also see {@link #createCubicMeter()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicMeter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-mile.
@@ -2555,12 +2807,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicMile(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-mile.
      * Also see {@link #createCubicMile()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicMile();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-yard.
@@ -2571,12 +2825,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicYard(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-yard.
      * Also see {@link #createCubicYard()}.
      * @draft ICU 64
      */
     static MeasureUnit getCubicYard();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cup.
@@ -2587,12 +2843,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCup(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cup.
      * Also see {@link #createCup()}.
      * @draft ICU 64
      */
     static MeasureUnit getCup();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cup-metric.
@@ -2603,12 +2861,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCupMetric(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cup-metric.
      * Also see {@link #createCupMetric()}.
      * @draft ICU 64
      */
     static MeasureUnit getCupMetric();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: deciliter.
@@ -2619,12 +2879,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDeciliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: deciliter.
      * Also see {@link #createDeciliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getDeciliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: fluid-ounce.
@@ -2635,12 +2897,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFluidOunce(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: fluid-ounce.
      * Also see {@link #createFluidOunce()}.
      * @draft ICU 64
      */
     static MeasureUnit getFluidOunce();
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2669,12 +2933,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGallon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: gallon.
      * Also see {@link #createGallon()}.
      * @draft ICU 64
      */
     static MeasureUnit getGallon();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: gallon-imperial.
@@ -2685,12 +2951,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGallonImperial(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: gallon-imperial.
      * Also see {@link #createGallonImperial()}.
      * @draft ICU 64
      */
     static MeasureUnit getGallonImperial();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: hectoliter.
@@ -2701,12 +2969,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectoliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: hectoliter.
      * Also see {@link #createHectoliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getHectoliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: liter.
@@ -2717,12 +2987,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: liter.
      * Also see {@link #createLiter()}.
      * @draft ICU 64
      */
     static MeasureUnit getLiter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: megaliter.
@@ -2733,12 +3005,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegaliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: megaliter.
      * Also see {@link #createMegaliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMegaliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: milliliter.
@@ -2749,12 +3023,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliliter(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: milliliter.
      * Also see {@link #createMilliliter()}.
      * @draft ICU 64
      */
     static MeasureUnit getMilliliter();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: pint.
@@ -2765,12 +3041,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPint(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: pint.
      * Also see {@link #createPint()}.
      * @draft ICU 64
      */
     static MeasureUnit getPint();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: pint-metric.
@@ -2781,12 +3059,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPintMetric(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: pint-metric.
      * Also see {@link #createPintMetric()}.
      * @draft ICU 64
      */
     static MeasureUnit getPintMetric();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: quart.
@@ -2797,12 +3077,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createQuart(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: quart.
      * Also see {@link #createQuart()}.
      * @draft ICU 64
      */
     static MeasureUnit getQuart();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: tablespoon.
@@ -2813,12 +3095,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTablespoon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: tablespoon.
      * Also see {@link #createTablespoon()}.
      * @draft ICU 64
      */
     static MeasureUnit getTablespoon();
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: teaspoon.
@@ -2829,12 +3113,14 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTeaspoon(UErrorCode &status);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: teaspoon.
      * Also see {@link #createTeaspoon()}.
      * @draft ICU 64
      */
     static MeasureUnit getTeaspoon();
+#endif  /* U_HIDE_DRAFT_API */
 
 
 // End generated createXXX methods
index 288f268d66d6583cd40f786728551fbaefbe8c66..879849b16bd8e0be19dc2d794b3917055b39312a 100644 (file)
@@ -13,6 +13,7 @@
 #include "unicode/utypes.h"
 
 #if !UCONFIG_NO_FORMATTING
+#ifndef U_HIDE_DRAFT_API
 
 #include "unicode/measunit.h"
 
@@ -23,7 +24,6 @@
 
 U_NAMESPACE_BEGIN
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Dimensionless unit for percent and permille.
  * @see NumberFormatter
@@ -100,10 +100,10 @@ private:
     NoUnit(const char* subtype);
 
 };
-#endif  /* U_HIDE_DRAFT_API */
 
 U_NAMESPACE_END
 
+#endif  /* U_HIDE_DRAFT_API */
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
 #endif // __NOUNIT_H__
index 5f4654244832dd3ce85fde725080b09593437c7c..fa86d162ffe179b2e1ef9ae85a695ee7f082b372 100644 (file)
@@ -112,6 +112,7 @@ class IntegerWidth;
 
 namespace impl {
 
+#ifndef U_HIDE_INTERNAL_API
 /**
  * Datatype for minimum/maximum fraction digits. Must be able to hold kMaxIntFracSig.
  *
@@ -126,6 +127,7 @@ typedef int16_t digits_t;
  * @internal
  */
 static constexpr int32_t DEFAULT_THRESHOLD = 3;
+#endif  /* U_HIDE_INTERNAL_API */
 
 // Forward declarations:
 class Padder;
index 38dbc266353a2eb569f7c92ed367af8cfb1b2e25..f1c1090279db089b98ae9f8e81f2448e898f4cde 100644 (file)
 
 #include "unicode/utypes.h"
 
+#ifndef U_HIDE_INTERNAL_API
 /**
  * \def NUMSYS_NAME_CAPACITY
  * Size of a numbering system name.
  * @internal
  */
 #define NUMSYS_NAME_CAPACITY 8
+#endif  /* U_HIDE_INTERNAL_API */
 
 
 /**
index 55167136a089ce0f5a8f956995ec02d262ca6839..04bf3970ba08257d4ac4dfca0c1c5d258c46f904 100644 (file)
@@ -348,6 +348,7 @@ public:
      */
     UnicodeString select(double number) const;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Given a formatted number, returns the keyword of the first rule
      * that applies to  the number.  This function can be used with
@@ -364,6 +365,7 @@ public:
      * @draft ICU 64
      */
     UnicodeString select(const number::FormattedNumber& number, UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_INTERNAL_API
     /**
index f77dde6d5065328863ccd2a674b7d96ac5956c08..84d7c0a34d54c549da1da493964cad248abbd602 100644 (file)
@@ -248,7 +248,7 @@ class NumberFormat;
 class UnicodeString;
 class FormattedRelativeDateTimeData;
 
-
+#ifndef U_HIDE_DRAFT_API
 /**
  * An immutable class containing the result of a relative datetime formatting operation.
  *
@@ -311,7 +311,7 @@ class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedVal
         : fData(nullptr), fErrorCode(errorCode) {}
     friend class RelativeDateTimeFormatter;
 };
-
+#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Formats simple relative dates. There are two types of relative dates that
@@ -476,6 +476,7 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Formats a relative date with a quantity such as "in 5 days" or
      * "3 months ago"
@@ -498,6 +499,7 @@ public:
             UDateDirection direction,
             UDateRelativeUnit unit,
             UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Formats a relative date without a quantity.
@@ -521,6 +523,7 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Formats a relative date without a quantity.
      *
@@ -540,6 +543,7 @@ public:
             UDateDirection direction,
             UDateAbsoluteUnit unit,
             UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -567,6 +571,7 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
      * using a numeric style, e.g. "1 week ago", "in 1 week",
@@ -589,6 +594,7 @@ public:
             double offset,
             URelativeDateTimeUnit unit,
             UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -616,6 +622,7 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
      * using a text style if possible, e.g. "last week", "this week",
@@ -638,6 +645,7 @@ public:
             double offset,
             URelativeDateTimeUnit unit,
             UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Combines a relative date string and a time string in this object's
index 1fe977f30e9046d4c9c8515b915308fe79b73599..eaa4f28893a07654d46112afdf515bd2d05688bc 100644 (file)
@@ -7,6 +7,7 @@
 #include "unicode/utypes.h"
 
 #if !UCONFIG_NO_FORMATTING
+#ifndef U_HIDE_DRAFT_API
 
 #include "unicode/ufieldpositer.h"
 
@@ -77,7 +78,7 @@ typedef enum UFieldCategory {
 #ifndef U_HIDE_INTERNAL_API
     /** @internal */
     UFIELD_CATEGORY_COUNT,
-#endif
+#endif  /* U_HIDE_INTERNAL_API */
 
     /**
      * Category for spans in a list.
@@ -434,5 +435,6 @@ U_NAMESPACE_END
 #endif // U_SHOW_CPLUSPLUS_API
 
 
+#endif  /* U_HIDE_DRAFT_API */
 #endif /* #if !UCONFIG_NO_FORMATTING */
 #endif // __UFORMATTEDVALUE_H__
index 15c82aaf69f048d7e742926315c10b5c32749561..28e13084c15a8be74fe4b5aa3f588bbffc83ddf6 100644 (file)
@@ -375,17 +375,19 @@ typedef enum UNumberFormatFields {
     UNUM_PERMILL_FIELD,
     /** @stable ICU 49 */
     UNUM_SIGN_FIELD,
+#ifndef U_HIDE_DRAFT_API
     /** @draft ICU 64 */
     UNUM_MEASURE_UNIT_FIELD,
     /** @draft ICU 64 */
     UNUM_COMPACT_FIELD,
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DEPRECATED_API
     /**
      * One more than the highest normal UNumberFormatFields value.
      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
      */
-    UNUM_FIELD_COUNT
+    UNUM_FIELD_COUNT = UNUM_SIGN_FIELD + 3
 #endif  /* U_HIDE_DEPRECATED_API */
 } UNumberFormatFields;
 
@@ -1097,19 +1099,14 @@ typedef enum UNumberFormatAttribute {
    */
   UNUM_SIGN_ALWAYS_SHOWN = 0x1004,
 
-  /** Limit of boolean attributes.
-   * @internal */
-  UNUM_LIMIT_BOOLEAN_ATTRIBUTE = 0x1005,
+#endif /* U_HIDE_DRAFT_API */
 
-#else /* U_HIDE_DRAFT_API */
 #ifndef U_HIDE_INTERNAL_API
-
-  /** Limit of boolean attributes.
+  /** Limit of boolean attributes. (value should
+   * not depend on U_HIDE conditionals)
    * @internal */
-  UNUM_LIMIT_BOOLEAN_ATTRIBUTE = 0x1003,
-
+  UNUM_LIMIT_BOOLEAN_ATTRIBUTE = 0x1005,
 #endif /* U_HIDE_INTERNAL_API */
-#endif /* U_HIDE_DRAFT_API */
 
 } UNumberFormatAttribute;
 
index 7c51e47aeaea1fc5d08d406f1d72769dfd8e9233..fc1b2fb57173b8b84b05b8da6745d64f282bd35e 100644 (file)
@@ -152,6 +152,7 @@ uplrules_select(const UPluralRules *uplrules,
                UChar *keyword, int32_t capacity,
                UErrorCode *status);
 
+#ifndef U_HIDE_DRAFT_API
 /**
  * Given a formatted number, returns the keyword of the first rule
  * that applies to the number, according to the supplied UPluralRules object.
@@ -174,6 +175,7 @@ uplrules_selectFormatted(const UPluralRules *uplrules,
                const struct UFormattedNumber* number,
                UChar *keyword, int32_t capacity,
                UErrorCode *status);
+#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_INTERNAL_API
 /**
index 9140c551b21cc378f98f91bad26f07d66cb9139f..0724d385594ff139e4b68fc31c14f490edb8c8d9 100644 (file)
@@ -252,7 +252,7 @@ ureldatefmt_open( const char*          locale,
 U_STABLE void U_EXPORT2
 ureldatefmt_close(URelativeDateTimeFormatter *reldatefmt);
 
-
+#ifndef U_HIDE_DRAFT_API
 struct UFormattedRelativeDateTime;
 /**
  * Opaque struct to contain the results of a URelativeDateTimeFormatter operation.
@@ -297,6 +297,7 @@ ureldatefmt_resultAsValue(const UFormattedRelativeDateTime* ufrdt, UErrorCode* e
  */
 U_DRAFT void U_EXPORT2
 ureldatefmt_closeResult(UFormattedRelativeDateTime* ufrdt);
+#endif  /* U_HIDE_DRAFT_API */
 
 
 #if U_SHOW_CPLUSPLUS_API
@@ -314,6 +315,7 @@ U_NAMESPACE_BEGIN
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDateTimeFormatter, ureldatefmt_close);
 
+#ifndef U_HIDE_DRAFT_API
 /**
  * \class LocalUFormattedRelativeDateTimePointer
  * "Smart pointer" class, closes a UFormattedRelativeDateTime via ureldatefmt_closeResult().
@@ -324,6 +326,7 @@ U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDat
  * @draft ICU 64
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedRelativeDateTimePointer, UFormattedRelativeDateTime, ureldatefmt_closeResult);
+#endif  /* U_HIDE_DRAFT_API */
 
 U_NAMESPACE_END
 
@@ -365,6 +368,7 @@ ureldatefmt_formatNumeric( const URelativeDateTimeFormatter* reldatefmt,
                     int32_t               resultCapacity,
                     UErrorCode*           status);
 
+#ifndef U_HIDE_DRAFT_API
 /**
  * Format a combination of URelativeDateTimeUnit and numeric
  * offset using a numeric style, e.g. "1 week ago", "in 1 week",
@@ -395,6 +399,7 @@ ureldatefmt_formatNumericToResult(
     URelativeDateTimeUnit             unit,
     UFormattedRelativeDateTime*       result,
     UErrorCode*                       status);
+#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -432,6 +437,7 @@ ureldatefmt_format( const URelativeDateTimeFormatter* reldatefmt,
                     int32_t               resultCapacity,
                     UErrorCode*           status);
 
+#ifndef U_HIDE_DRAFT_API
 /**
  * Format a combination of URelativeDateTimeUnit and numeric offset
  * using a text style if possible, e.g. "last week", "this week",
@@ -465,6 +471,7 @@ ureldatefmt_formatToResult(
     URelativeDateTimeUnit             unit,
     UFormattedRelativeDateTime*       result,
     UErrorCode*                       status);
+#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Combines a relative date string and a time string in this object's