X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/a01113dcd0f39d5da295ef82785beff9ed86fe38..refs/heads/master:/icuSources/i18n/unicode/numberformatter.h?ds=sidebyside diff --git a/icuSources/i18n/unicode/numberformatter.h b/icuSources/i18n/unicode/numberformatter.h index 56c3a5a9..ab1ec43b 100644 --- a/icuSources/i18n/unicode/numberformatter.h +++ b/icuSources/i18n/unicode/numberformatter.h @@ -1,15 +1,19 @@ // © 2017 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html +#ifndef __NUMBERFORMATTER_H__ +#define __NUMBERFORMATTER_H__ + #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING -#ifndef __NUMBERFORMATTER_H__ -#define __NUMBERFORMATTER_H__ #include "unicode/appendable.h" -#include "unicode/dcfmtsym.h" +#include "unicode/bytestream.h" #include "unicode/currunit.h" +#include "unicode/dcfmtsym.h" #include "unicode/fieldpos.h" #include "unicode/formattedvalue.h" #include "unicode/fpositer.h" @@ -22,8 +26,6 @@ #include "unicode/unumberformatter.h" #include "unicode/uobject.h" -#ifndef U_HIDE_DRAFT_API - /** * \file * \brief C++ API: Library for localized number formatting introduced in ICU 60. @@ -85,6 +87,7 @@ U_NAMESPACE_BEGIN // Forward declarations: class IFixedDecimal; class FieldPositionIteratorHandler; +class FormattedStringBuilder; namespace numparse { namespace impl { @@ -142,7 +145,6 @@ class MultiplierProducer; class RoundingImpl; class ScientificHandler; class Modifier; -class NumberStringBuilder; class AffixPatternProvider; class NumberPropertyMapper; struct DecimalFormatProperties; @@ -167,21 +169,21 @@ void touchRangeLocales(impl::RangeMacroProps& macros); /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Notation CompactNotation; /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Notation SimpleNotation; /** * A class that defines the notation style to be used when formatting numbers in NumberFormatter. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API Notation : public UMemory { public: @@ -207,7 +209,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static ScientificNotation scientific(); @@ -231,7 +233,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static ScientificNotation engineering(); @@ -274,7 +276,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A CompactNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CompactNotation compactShort(); @@ -298,7 +300,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A CompactNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CompactNotation compactLong(); @@ -324,7 +326,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A SimpleNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static SimpleNotation simple(); @@ -391,7 +393,7 @@ class U_I18N_API Notation : public UMemory { *
* To create a ScientificNotation, use one of the factory methods in {@link Notation}. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API ScientificNotation : public Notation { public: @@ -406,7 +408,7 @@ class U_I18N_API ScientificNotation : public Notation { * @param minExponentDigits * The minimum number of digits to show in the exponent. * @return A ScientificNotation, for chaining. - * @draft ICU 60 + * @stable ICU 60 */ ScientificNotation withMinExponentDigits(int32_t minExponentDigits) const; @@ -421,7 +423,7 @@ class U_I18N_API ScientificNotation : public Notation { * @param exponentSignDisplay * The strategy for displaying the sign in the exponent. * @return A ScientificNotation, for chaining. - * @draft ICU 60 + * @stable ICU 60 */ ScientificNotation withExponentSignDisplay(UNumberSignDisplay exponentSignDisplay) const; @@ -442,7 +444,7 @@ class U_I18N_API ScientificNotation : public Notation { /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Precision SignificantDigitsPrecision; @@ -452,7 +454,7 @@ typedef Precision SignificantDigitsPrecision; *
* To create a Precision, use one of the factory methods. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API Precision : public UMemory { @@ -472,7 +474,7 @@ class U_I18N_API Precision : public UMemory { * http://www.serpentine.com/blog/2011/06/29/here-be-dragons-advances-in-problems-you-didnt-even-know-you-had/ * * @return A Precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static Precision unlimited(); @@ -480,7 +482,7 @@ class U_I18N_API Precision : public UMemory { * Show numbers rounded if necessary to the nearest integer. * * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision integer(); @@ -509,7 +511,7 @@ class U_I18N_API Precision : public UMemory { * The minimum and maximum number of numerals to display after the decimal separator (rounding if too * long or padding with zeros if too short). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision fixedFraction(int32_t minMaxFractionPlaces); @@ -524,7 +526,7 @@ class U_I18N_API Precision : public UMemory { * The minimum number of numerals to display after the decimal separator (padding with zeros if * necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision minFraction(int32_t minFractionPlaces); @@ -536,7 +538,7 @@ class U_I18N_API Precision : public UMemory { * @param maxFractionPlaces * The maximum number of numerals to display after the decimal mark (rounding if necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision maxFraction(int32_t maxFractionPlaces); @@ -551,7 +553,7 @@ class U_I18N_API Precision : public UMemory { * @param maxFractionPlaces * The maximum number of numerals to display after the decimal separator (rounding if necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision minMaxFraction(int32_t minFractionPlaces, int32_t maxFractionPlaces); @@ -566,7 +568,7 @@ class U_I18N_API Precision : public UMemory { * The minimum and maximum number of significant digits to display (rounding if too long or padding with * zeros if too short). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision fixedSignificantDigits(int32_t minMaxSignificantDigits); @@ -580,7 +582,7 @@ class U_I18N_API Precision : public UMemory { * @param minSignificantDigits * The minimum number of significant digits to display (padding with zeros if too short). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision minSignificantDigits(int32_t minSignificantDigits); @@ -590,7 +592,7 @@ class U_I18N_API Precision : public UMemory { * @param maxSignificantDigits * The maximum number of significant digits to display (rounding if too long). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision maxSignificantDigits(int32_t maxSignificantDigits); @@ -603,7 +605,7 @@ class U_I18N_API Precision : public UMemory { * @param maxSignificantDigits * The maximum number of significant digits to display (rounding if necessary). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision minMaxSignificantDigits(int32_t minSignificantDigits, int32_t maxSignificantDigits); @@ -625,7 +627,7 @@ class U_I18N_API Precision : public UMemory { * @param roundingIncrement * The increment to which to round numbers. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static IncrementPrecision increment(double roundingIncrement); @@ -644,7 +646,7 @@ class U_I18N_API Precision : public UMemory { * Either STANDARD (for digital transactions) or CASH (for transactions where the rounding increment may * be limited by the available denominations of cash or coins). * @return A CurrencyPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CurrencyPrecision currency(UCurrencyUsage currencyUsage); @@ -785,7 +787,7 @@ class U_I18N_API Precision : public UMemory { *
* To create a FractionPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API FractionPrecision : public Precision { public: @@ -803,7 +805,7 @@ class U_I18N_API FractionPrecision : public Precision { * @param minSignificantDigits * The number of significant figures to guarantee. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMinDigits(int32_t minSignificantDigits) const; @@ -822,7 +824,7 @@ class U_I18N_API FractionPrecision : public Precision { * @param maxSignificantDigits * Round the number to no more than this number of significant figures. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMaxDigits(int32_t maxSignificantDigits) const; @@ -841,7 +843,7 @@ class U_I18N_API FractionPrecision : public Precision { *
* To create a CurrencyPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API CurrencyPrecision : public Precision { public: @@ -860,7 +862,7 @@ class U_I18N_API CurrencyPrecision : public Precision { * @param currency * The currency to associate with this rounding precision. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withCurrency(const CurrencyUnit ¤cy) const; @@ -879,7 +881,7 @@ class U_I18N_API CurrencyPrecision : public Precision { *
* To create an IncrementPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API IncrementPrecision : public Precision { public: @@ -896,7 +898,7 @@ class U_I18N_API IncrementPrecision : public Precision { * * @param minFrac The minimum number of digits after the decimal separator. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMinFraction(int32_t minFrac) const; @@ -914,7 +916,7 @@ class U_I18N_API IncrementPrecision : public Precision { *
* To create an IntegerWidth, use one of the factory methods. * - * @draft ICU 60 + * @stable ICU 60 * @see NumberFormatter */ class U_I18N_API IntegerWidth : public UMemory { @@ -928,7 +930,7 @@ class U_I18N_API IntegerWidth : public UMemory { * @param minInt * The minimum number of places before the decimal separator. * @return An IntegerWidth for chaining or passing to the NumberFormatter integerWidth() setter. - * @draft ICU 60 + * @stable ICU 60 */ static IntegerWidth zeroFillTo(int32_t minInt); @@ -941,7 +943,7 @@ class U_I18N_API IntegerWidth : public UMemory { * The maximum number of places before the decimal separator. maxInt == -1 means no * truncation. * @return An IntegerWidth for passing to the NumberFormatter integerWidth() setter. - * @draft ICU 60 + * @stable ICU 60 */ IntegerWidth truncateAt(int32_t maxInt); @@ -1008,7 +1010,7 @@ class U_I18N_API IntegerWidth : public UMemory { *
* To create a Scale, use one of the factory methods.
*
- * @draft ICU 62
+ * @stable ICU 62
*/
class U_I18N_API Scale : public UMemory {
public:
@@ -1016,7 +1018,7 @@ class U_I18N_API Scale : public UMemory {
* Do not change the value of numbers when formatting or parsing.
*
* @return A Scale to prevent any multiplication.
- * @draft ICU 62
+ * @stable ICU 62
*/
static Scale none();
@@ -1028,7 +1030,7 @@ class U_I18N_API Scale : public UMemory {
*
*
* @return A Scale for passing to the setter in NumberFormatter.
- * @draft ICU 62
+ * @stable ICU 62
*/
static Scale powerOfTen(int32_t power);
@@ -1042,7 +1044,7 @@ class U_I18N_API Scale : public UMemory {
* Also see the version of this method that takes a double.
*
* @return A Scale for passing to the setter in NumberFormatter.
- * @draft ICU 62
+ * @stable ICU 62
*/
static Scale byDecimal(StringPiece multiplicand);
@@ -1052,7 +1054,7 @@ class U_I18N_API Scale : public UMemory {
* This method takes a double; also see the version of this method that takes an exact decimal.
*
* @return A Scale for passing to the setter in NumberFormatter.
- * @draft ICU 62
+ * @stable ICU 62
*/
static Scale byDouble(double multiplicand);
@@ -1060,26 +1062,26 @@ class U_I18N_API Scale : public UMemory {
* Multiply a number by both a power of ten and by an arbitrary double value.
*
* @return A Scale for passing to the setter in NumberFormatter.
- * @draft ICU 62
+ * @stable ICU 62
*/
static Scale byDoubleAndPowerOfTen(double multiplicand, int32_t power);
// We need a custom destructor for the DecNum, which means we need to declare
// the copy/move constructor/assignment quartet.
- /** @draft ICU 62 */
+ /** @stable ICU 62 */
Scale(const Scale& other);
- /** @draft ICU 62 */
+ /** @stable ICU 62 */
Scale& operator=(const Scale& other);
- /** @draft ICU 62 */
+ /** @stable ICU 62 */
Scale(Scale&& src) U_NOEXCEPT;
- /** @draft ICU 62 */
+ /** @stable ICU 62 */
Scale& operator=(Scale&& src) U_NOEXCEPT;
- /** @draft ICU 62 */
+ /** @stable ICU 62 */
~Scale();
#ifndef U_HIDE_INTERNAL_API
@@ -1364,7 +1366,7 @@ class U_I18N_API Padder : public UMemory {
}
int32_t padAndApply(const impl::Modifier &mod1, const impl::Modifier &mod2,
- impl::NumberStringBuilder &string, int32_t leftIndex, int32_t rightIndex,
+ FormattedStringBuilder &string, int32_t leftIndex, int32_t rightIndex,
UErrorCode &status) const;
// To allow MacroProps/MicroProps to initialize empty instances:
@@ -1489,7 +1491,7 @@ class U_I18N_API NumberFormatterSettings {
* The notation strategy to use.
* @return The fluent chain.
* @see Notation
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived notation(const Notation ¬ation) const &;
@@ -1500,7 +1502,7 @@ class U_I18N_API NumberFormatterSettings {
* The notation strategy to use.
* @return The fluent chain.
* @see #notation
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived notation(const Notation ¬ation) &&;
@@ -1545,7 +1547,7 @@ class U_I18N_API NumberFormatterSettings {
* @see Currency
* @see NoUnit
* @see #perUnit
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived unit(const icu::MeasureUnit &unit) const &;
@@ -1556,7 +1558,7 @@ class U_I18N_API NumberFormatterSettings {
* The unit to render.
* @return The fluent chain.
* @see #unit
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived unit(const icu::MeasureUnit &unit) &&;
@@ -1571,7 +1573,7 @@ class U_I18N_API NumberFormatterSettings {
* @return The fluent chain.
* @see #unit
* @see MeasureUnit
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived adoptUnit(icu::MeasureUnit *unit) const &;
@@ -1582,7 +1584,7 @@ class U_I18N_API NumberFormatterSettings {
* The unit to render.
* @return The fluent chain.
* @see #adoptUnit
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived adoptUnit(icu::MeasureUnit *unit) &&;
@@ -1606,7 +1608,7 @@ class U_I18N_API NumberFormatterSettings {
* The unit to render in the denominator.
* @return The fluent chain
* @see #unit
- * @draft ICU 61
+ * @stable ICU 61
*/
Derived perUnit(const icu::MeasureUnit &perUnit) const &;
@@ -1617,7 +1619,7 @@ class U_I18N_API NumberFormatterSettings {
* The unit to render in the denominator.
* @return The fluent chain.
* @see #perUnit
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived perUnit(const icu::MeasureUnit &perUnit) &&;
@@ -1632,7 +1634,7 @@ class U_I18N_API NumberFormatterSettings {
* @return The fluent chain.
* @see #perUnit
* @see MeasureUnit
- * @draft ICU 61
+ * @stable ICU 61
*/
Derived adoptPerUnit(icu::MeasureUnit *perUnit) const &;
@@ -1643,7 +1645,7 @@ class U_I18N_API NumberFormatterSettings {
* The unit to render in the denominator.
* @return The fluent chain.
* @see #adoptPerUnit
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived adoptPerUnit(icu::MeasureUnit *perUnit) &&;
@@ -1675,7 +1677,7 @@ class U_I18N_API NumberFormatterSettings {
* The rounding precision to use.
* @return The fluent chain.
* @see Precision
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived precision(const Precision& precision) const &;
@@ -1686,7 +1688,7 @@ class U_I18N_API NumberFormatterSettings {
* The rounding precision to use.
* @return The fluent chain.
* @see #precision
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived precision(const Precision& precision) &&;
@@ -1706,7 +1708,7 @@ class U_I18N_API NumberFormatterSettings {
*
* @param roundingMode The rounding mode to use.
* @return The fluent chain.
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived roundingMode(UNumberFormatRoundingMode roundingMode) const &;
@@ -1716,7 +1718,7 @@ class U_I18N_API NumberFormatterSettings {
* @param roundingMode The rounding mode to use.
* @return The fluent chain.
* @see #roundingMode
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived roundingMode(UNumberFormatRoundingMode roundingMode) &&;
@@ -1745,7 +1747,7 @@ class U_I18N_API NumberFormatterSettings {
* @param strategy
* The grouping strategy to use.
* @return The fluent chain.
- * @draft ICU 61
+ * @stable ICU 61
*/
Derived grouping(UNumberGroupingStrategy strategy) const &;
@@ -1756,7 +1758,7 @@ class U_I18N_API NumberFormatterSettings {
* The grouping strategy to use.
* @return The fluent chain.
* @see #grouping
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived grouping(UNumberGroupingStrategy strategy) &&;
@@ -1782,7 +1784,7 @@ class U_I18N_API NumberFormatterSettings {
* The integer width to use.
* @return The fluent chain.
* @see IntegerWidth
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived integerWidth(const IntegerWidth &style) const &;
@@ -1793,7 +1795,7 @@ class U_I18N_API NumberFormatterSettings {
* The integer width to use.
* @return The fluent chain.
* @see #integerWidth
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived integerWidth(const IntegerWidth &style) &&;
@@ -1835,7 +1837,7 @@ class U_I18N_API NumberFormatterSettings {
* The DecimalFormatSymbols to use.
* @return The fluent chain.
* @see DecimalFormatSymbols
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived symbols(const DecimalFormatSymbols &symbols) const &;
@@ -1846,7 +1848,7 @@ class U_I18N_API NumberFormatterSettings {
* The DecimalFormatSymbols to use.
* @return The fluent chain.
* @see #symbols
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived symbols(const DecimalFormatSymbols &symbols) &&;
@@ -1881,7 +1883,7 @@ class U_I18N_API NumberFormatterSettings {
* The NumberingSystem to use.
* @return The fluent chain.
* @see NumberingSystem
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived adoptSymbols(NumberingSystem *symbols) const &;
@@ -1892,7 +1894,7 @@ class U_I18N_API NumberFormatterSettings {
* The NumberingSystem to use.
* @return The fluent chain.
* @see #adoptSymbols
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived adoptSymbols(NumberingSystem *symbols) &&;
@@ -1919,7 +1921,7 @@ class U_I18N_API NumberFormatterSettings {
* The width to use when rendering numbers.
* @return The fluent chain
* @see UNumberUnitWidth
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived unitWidth(UNumberUnitWidth width) const &;
@@ -1930,7 +1932,7 @@ class U_I18N_API NumberFormatterSettings {
* The width to use when rendering numbers.
* @return The fluent chain.
* @see #unitWidth
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived unitWidth(UNumberUnitWidth width) &&;
@@ -1957,7 +1959,7 @@ class U_I18N_API NumberFormatterSettings {
* The sign display strategy to use when rendering numbers.
* @return The fluent chain
* @see UNumberSignDisplay
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived sign(UNumberSignDisplay style) const &;
@@ -1968,7 +1970,7 @@ class U_I18N_API NumberFormatterSettings {
* The sign display strategy to use when rendering numbers.
* @return The fluent chain.
* @see #sign
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived sign(UNumberSignDisplay style) &&;
@@ -1995,7 +1997,7 @@ class U_I18N_API NumberFormatterSettings {
* The decimal separator display strategy to use when rendering numbers.
* @return The fluent chain
* @see UNumberDecimalSeparatorDisplay
- * @draft ICU 60
+ * @stable ICU 60
*/
Derived decimal(UNumberDecimalSeparatorDisplay style) const &;
@@ -2006,7 +2008,7 @@ class U_I18N_API NumberFormatterSettings {
* The decimal separator display strategy to use when rendering numbers.
* @return The fluent chain.
* @see #decimal
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived decimal(UNumberDecimalSeparatorDisplay style) &&;
@@ -2032,7 +2034,7 @@ class U_I18N_API NumberFormatterSettings {
* @param scale
* The scale to apply when rendering numbers.
* @return The fluent chain
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived scale(const Scale &scale) const &;
@@ -2043,7 +2045,7 @@ class U_I18N_API NumberFormatterSettings {
* The scale to apply when rendering numbers.
* @return The fluent chain.
* @see #scale
- * @draft ICU 62
+ * @stable ICU 62
*/
Derived scale(const Scale &scale) &&;
@@ -2100,10 +2102,11 @@ class U_I18N_API NumberFormatterSettings {
* behavior should produce the same skeleton.
*
* @return A number skeleton string with behavior corresponding to this number formatter.
- * @draft ICU 62
+ * @stable ICU 62
*/
UnicodeString toSkeleton(UErrorCode& status) const;
+#ifndef U_HIDE_DRAFT_API
/**
* Returns the current (Un)LocalizedNumberFormatter as a LocalPointer
* wrapping a heap-allocated copy of the current object.
@@ -2125,12 +2128,13 @@ class U_I18N_API NumberFormatterSettings {
* @draft ICU 64
*/
LocalPointer