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 |