| Index: source/common/unicode/listformatter.h
|
| diff --git a/source/common/unicode/listformatter.h b/source/common/unicode/listformatter.h
|
| index 67286609822a83bcbfb335657f3d1ca429bba9e4..e48faaa1276c70b8bc38a7fe6cda237a6f5f24af 100644
|
| --- a/source/common/unicode/listformatter.h
|
| +++ b/source/common/unicode/listformatter.h
|
| @@ -1,7 +1,7 @@
|
| /*
|
| *******************************************************************************
|
| *
|
| -* Copyright (C) 2012-2013, International Business Machines
|
| +* Copyright (C) 2012-2014, International Business Machines
|
| * Corporation and others. All Rights Reserved.
|
| *
|
| *******************************************************************************
|
| @@ -19,8 +19,6 @@
|
|
|
| #include "unicode/utypes.h"
|
|
|
| -#ifndef U_HIDE_DRAFT_API
|
| -
|
| #include "unicode/unistr.h"
|
| #include "unicode/locid.h"
|
|
|
| @@ -29,7 +27,10 @@ U_NAMESPACE_BEGIN
|
| /** @internal */
|
| class Hashtable;
|
|
|
| -#ifndef U_HIDE_INTERNAL_API
|
| +/** @internal */
|
| +struct ListFormatInternal;
|
| +
|
| +/* The following can't be #ifndef U_HIDE_INTERNAL_API, needed for other .h file declarations */
|
| /** @internal */
|
| struct ListFormatData : public UMemory {
|
| UnicodeString twoPattern;
|
| @@ -40,7 +41,6 @@ struct ListFormatData : public UMemory {
|
| ListFormatData(const UnicodeString& two, const UnicodeString& start, const UnicodeString& middle, const UnicodeString& end) :
|
| twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end) {}
|
| };
|
| -#endif /* U_HIDE_INTERNAL_API */
|
|
|
|
|
| /**
|
| @@ -57,7 +57,7 @@ struct ListFormatData : public UMemory {
|
| * as "Alice, Bob, Charlie and Delta" in English.
|
| *
|
| * The ListFormatter class is not intended for public subclassing.
|
| - * @draft ICU 50
|
| + * @stable ICU 50
|
| */
|
| class U_COMMON_API ListFormatter : public UObject{
|
|
|
| @@ -65,13 +65,13 @@ class U_COMMON_API ListFormatter : public UObject{
|
|
|
| /**
|
| * Copy constructor.
|
| - * @draft ICU 52
|
| + * @stable ICU 52
|
| */
|
| ListFormatter(const ListFormatter&);
|
|
|
| /**
|
| * Assignment operator.
|
| - * @draft ICU 52
|
| + * @stable ICU 52
|
| */
|
| ListFormatter& operator=(const ListFormatter& other);
|
|
|
| @@ -81,7 +81,7 @@ class U_COMMON_API ListFormatter : public UObject{
|
| * @param errorCode ICU error code, set if no data available for default locale.
|
| * @return Pointer to a ListFormatter object for the default locale,
|
| * created from internal data derived from CLDR data.
|
| - * @draft ICU 50
|
| + * @stable ICU 50
|
| */
|
| static ListFormatter* createInstance(UErrorCode& errorCode);
|
|
|
| @@ -92,7 +92,7 @@ class U_COMMON_API ListFormatter : public UObject{
|
| * @param errorCode ICU error code, set if no data available for the given locale.
|
| * @return A ListFormatter object created from internal data derived from
|
| * CLDR data.
|
| - * @draft ICU 50
|
| + * @stable ICU 50
|
| */
|
| static ListFormatter* createInstance(const Locale& locale, UErrorCode& errorCode);
|
|
|
| @@ -113,7 +113,7 @@ class U_COMMON_API ListFormatter : public UObject{
|
| /**
|
| * Destructor.
|
| *
|
| - * @draft ICU 50
|
| + * @stable ICU 50
|
| */
|
| virtual ~ListFormatter();
|
|
|
| @@ -126,30 +126,42 @@ class U_COMMON_API ListFormatter : public UObject{
|
| * @param appendTo The string to which the result should be appended to.
|
| * @param errorCode ICU error code, set if there is an error.
|
| * @return Formatted string combining the elements of items, appended to appendTo.
|
| - * @draft ICU 50
|
| + * @stable ICU 50
|
| */
|
| UnicodeString& format(const UnicodeString items[], int32_t n_items,
|
| UnicodeString& appendTo, UErrorCode& errorCode) const;
|
|
|
| #ifndef U_HIDE_INTERNAL_API
|
| /**
|
| + @internal for MeasureFormat
|
| + */
|
| + UnicodeString& format(
|
| + const UnicodeString items[],
|
| + int32_t n_items,
|
| + UnicodeString& appendTo,
|
| + int32_t index,
|
| + int32_t &offset,
|
| + UErrorCode& errorCode) const;
|
| + /**
|
| + * @internal constructor made public for testing.
|
| + */
|
| + ListFormatter(const ListFormatData &data);
|
| + /**
|
| * @internal constructor made public for testing.
|
| */
|
| - ListFormatter(const ListFormatData* listFormatterData);
|
| + ListFormatter(const ListFormatInternal* listFormatterInternal);
|
| #endif /* U_HIDE_INTERNAL_API */
|
|
|
| private:
|
| static void initializeHash(UErrorCode& errorCode);
|
| - static const ListFormatData* getListFormatData(const Locale& locale, const char *style, UErrorCode& errorCode);
|
| + static const ListFormatInternal* getListFormatInternal(const Locale& locale, const char *style, UErrorCode& errorCode);
|
|
|
| ListFormatter();
|
| - void addNewString(const UnicodeString& pattern, UnicodeString& originalString,
|
| - const UnicodeString& newString, UErrorCode& errorCode) const;
|
|
|
| - const ListFormatData* data;
|
| + ListFormatInternal* owned;
|
| + const ListFormatInternal* data;
|
| };
|
|
|
| U_NAMESPACE_END
|
|
|
| -#endif /* U_HIDE_DRAFT_API */
|
| #endif
|
|
|