Chromium Code Reviews

Unified Diff: source/common/unicode/unistr.h

Issue 2440913002: Update ICU to 58.1
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
« no previous file with comments | « source/common/unicode/uniset.h ('k') | source/common/unicode/unorm.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/common/unicode/unistr.h
diff --git a/source/common/unicode/unistr.h b/source/common/unicode/unistr.h
index 63f19335004793f41f3753764eee3c17becc7716..6f62244a1e2824c9d312c52f4187c94ad8c7a838 100644
--- a/source/common/unicode/unistr.h
+++ b/source/common/unicode/unistr.h
@@ -1,6 +1,8 @@
+// Copyright (C) 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
-* Copyright (C) 1998-2015, International Business Machines
+* Copyright (C) 1998-2016, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*
@@ -22,8 +24,8 @@
#define UNISTR_H
/**
- * \file
- * \brief C++ API: Unicode String
+ * \file
+ * \brief C++ API: Unicode String
*/
#include "unicode/utypes.h"
@@ -74,7 +76,9 @@ UStringCaseMapper(const UCaseMap *csm,
U_NAMESPACE_BEGIN
+#if !UCONFIG_NO_BREAK_ITERATION
class BreakIterator; // unicode/brkiter.h
+#endif
class Locale; // unicode/locid.h
class StringCharacterIterator;
class UnicodeStringAppendable; // unicode/appendable.h
@@ -172,8 +176,6 @@ class UnicodeStringAppendable; // unicode/appendable.h
# endif
#endif
-/* Cannot make the following #ifndef U_HIDE_INTERNAL_API,
- it is used to construct other non-internal constants */
/**
* \def UNISTR_OBJECT_SIZE
* Desired sizeof(UnicodeString) in bytes.
@@ -205,7 +207,7 @@ class UnicodeStringAppendable; // unicode/appendable.h
* and the internal buffer would hold up to 11 UChars in that case.
*
* @see U16_MAX_LENGTH
- * @draft ICU 56
+ * @stable ICU 56
*/
#ifndef UNISTR_OBJECT_SIZE
# define UNISTR_OBJECT_SIZE 64
@@ -234,7 +236,7 @@ class UnicodeStringAppendable; // unicode/appendable.h
* <p>In ICU, a Unicode string consists of 16-bit Unicode <em>code units</em>.
* A Unicode character may be stored with either one code unit
* (the most common case) or with a matched pair of special code units
- * ("surrogates"). The data type for code units is UChar.
+ * ("surrogates"). The data type for code units is UChar.
* For single-character handling, a Unicode character code <em>point</em> is a value
* in the range 0..0x10ffff. ICU uses the UChar32 type for code points.</p>
*
@@ -1529,7 +1531,7 @@ public:
UnicodeString& target) const;
/**
- * Copy the characters in the range
+ * Copy the characters in the range
* [<tt>start</TT>, <tt>start + startLength</TT>) into an array of characters.
* All characters must be invariant (see utypes.h).
* Use US_INV as the last, signature-distinguishing parameter.
@@ -1902,7 +1904,6 @@ public:
*/
UnicodeString &fastCopyFrom(const UnicodeString &src);
-#ifndef U_HIDE_DRAFT_API
#if U_HAVE_RVALUE_REFERENCES
/**
* Move assignment operator, might leave src in bogus state.
@@ -1910,12 +1911,13 @@ public:
* The behavior is undefined if *this and src are the same object.
* @param src source string
* @return *this
- * @draft ICU 56
+ * @stable ICU 56
*/
UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT {
return moveFrom(src);
}
#endif
+ // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API
/**
* Move assignment, might leave src in bogus state.
* This string will have the same contents and state that the source string had.
@@ -1931,7 +1933,7 @@ public:
/**
* Swap strings.
* @param other other string
- * @draft ICU 56
+ * @stable ICU 56
*/
void swap(UnicodeString &other) U_NOEXCEPT;
@@ -1939,13 +1941,12 @@ public:
* Non-member UnicodeString swap function.
* @param s1 will get s2's contents and state
* @param s2 will get s1's contents and state
- * @draft ICU 56
+ * @stable ICU 56
*/
friend U_COMMON_API inline void U_EXPORT2
swap(UnicodeString &s1, UnicodeString &s2) U_NOEXCEPT {
s1.swap(s2);
}
-#endif /* U_HIDE_DRAFT_API */
/**
* Assignment operator. Replace the characters in this UnicodeString
@@ -3212,17 +3213,15 @@ public:
*/
UnicodeString(const UnicodeString& that);
-#ifndef U_HIDE_DRAFT_API
#if U_HAVE_RVALUE_REFERENCES
/**
* Move constructor, might leave src in bogus state.
* This string will have the same contents and state that the source string had.
* @param src source string
- * @draft ICU 56
+ * @stable ICU 56
*/
UnicodeString(UnicodeString &&src) U_NOEXCEPT;
#endif
-#endif /* U_HIDE_DRAFT_API */
/**
* 'Substring' constructor from tail of source string.
@@ -3277,7 +3276,7 @@ public:
* @see toUTF8String
* @stable ICU 4.2
*/
- static UnicodeString fromUTF8(const StringPiece &utf8);
+ static UnicodeString fromUTF8(StringPiece utf8);
/**
* Create a UnicodeString from a UTF-32 string.
@@ -3392,7 +3391,7 @@ protected:
private:
// For char* constructors. Could be made public.
- UnicodeString &setToUTF8(const StringPiece &utf8);
+ UnicodeString &setToUTF8(StringPiece utf8);
// For extract(char*).
// We could make a toUTF8(target, capacity, errorCode) public but not
// this version: New API will be cleaner if we make callers create substrings
@@ -3617,7 +3616,6 @@ private:
*/
US_STACKBUF_SIZE=(int32_t)(UNISTR_OBJECT_SIZE-sizeof(void *)-2)/U_SIZEOF_UCHAR,
kInvalidUChar=0xffff, // U+FFFF returned by charAt(invalid index)
- kGrowSize=128, // grow size for this buffer
kInvalidHashCode=0, // invalid hash code
kEmptyHashCode=1, // hash code for empty string
« no previous file with comments | « source/common/unicode/uniset.h ('k') | source/common/unicode/unorm.h » ('j') | no next file with comments »

Powered by Google App Engine