#ifndef UNISTR_H
#define UNISTR_H
#include "unicode/utypes.h"
#if U_SHOW_CPLUSPLUS_API
#include <cstddef>
#include "unicode/char16ptr.h"
#include "unicode/rep.h"
#include "unicode/std_string.h"
#include "unicode/stringpiece.h"
#include "unicode/bytestream.h"
struct UConverter;
#ifndef USTRING_H
U_CAPI int32_t U_EXPORT2 u_strlen(const UChar *s);
#endif
U_NAMESPACE_BEGIN
#if !UCONFIG_NO_BREAK_ITERATION
class BreakIterator;
#endif
class Edits;
U_NAMESPACE_END
UStringCaseMapper;
U_NAMESPACE_BEGIN
class Locale;
class StringCharacterIterator;
class UnicodeStringAppendable;
#define US_INV …
#if !U_CHAR16_IS_TYPEDEF
#define UNICODE_STRING(cs, _length) …
#else
#define UNICODE_STRING …
#endif
#define UNICODE_STRING_SIMPLE(cs) …
#ifndef UNISTR_FROM_CHAR_EXPLICIT
# if defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION)
#define UNISTR_FROM_CHAR_EXPLICIT …
# else
#define UNISTR_FROM_CHAR_EXPLICIT
# endif
#endif
#ifndef UNISTR_FROM_STRING_EXPLICIT
# if defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION)
#define UNISTR_FROM_STRING_EXPLICIT …
# else
#define UNISTR_FROM_STRING_EXPLICIT
# endif
#endif
#ifndef UNISTR_OBJECT_SIZE
#define UNISTR_OBJECT_SIZE …
#endif
class U_COMMON_API UnicodeString : public Replaceable
{ … };
U_COMMON_API UnicodeString U_EXPORT2
operator+ (const UnicodeString &s1, const UnicodeString &s2);
inline void
UnicodeString::pinIndex(int32_t& start) const
{ … }
inline void
UnicodeString::pinIndices(int32_t& start,
int32_t& _length) const
{ … }
inline char16_t*
UnicodeString::getArrayStart() { … }
inline const char16_t*
UnicodeString::getArrayStart() const { … }
inline
UnicodeString::UnicodeString() { … }
inline UnicodeString::UnicodeString(const std::nullptr_t ) { … }
inline UnicodeString::UnicodeString(const std::nullptr_t , int32_t ) { … }
inline UnicodeString::UnicodeString(std::nullptr_t , int32_t , int32_t ) { … }
inline UBool
UnicodeString::hasShortLength() const { … }
inline int32_t
UnicodeString::getShortLength() const { … }
inline int32_t
UnicodeString::length() const { … }
inline int32_t
UnicodeString::getCapacity() const { … }
inline int32_t
UnicodeString::hashCode() const
{ … }
inline UBool
UnicodeString::isBogus() const
{ … }
inline UBool
UnicodeString::isWritable() const
{ … }
inline UBool
UnicodeString::isBufferWritable() const
{ … }
inline const char16_t *
UnicodeString::getBuffer() const { … }
inline int8_t
UnicodeString::doCompare(int32_t start,
int32_t thisLength,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline UBool
UnicodeString::doEqualsSubstring(int32_t start,
int32_t thisLength,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline bool
UnicodeString::operator== (const UnicodeString& text) const
{ … }
inline bool
UnicodeString::operator!= (const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::operator> (const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::operator< (const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::operator>= (const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::operator<= (const UnicodeString& text) const
{ … }
inline int8_t
UnicodeString::compare(const UnicodeString& text) const
{ … }
inline int8_t
UnicodeString::compare(int32_t start,
int32_t _length,
const UnicodeString& srcText) const
{ … }
inline int8_t
UnicodeString::compare(ConstChar16Ptr srcChars,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compare(int32_t start,
int32_t _length,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compare(int32_t start,
int32_t _length,
const char16_t *srcChars) const
{ … }
inline int8_t
UnicodeString::compare(int32_t start,
int32_t _length,
const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compareBetween(int32_t start,
int32_t limit,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLimit) const
{ … }
inline int8_t
UnicodeString::doCompareCodePointOrder(int32_t start,
int32_t thisLength,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(const UnicodeString& text) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(int32_t start,
int32_t _length,
const UnicodeString& srcText) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(ConstChar16Ptr srcChars,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(int32_t start,
int32_t _length,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(int32_t start,
int32_t _length,
const char16_t *srcChars) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrder(int32_t start,
int32_t _length,
const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline int8_t
UnicodeString::compareCodePointOrderBetween(int32_t start,
int32_t limit,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLimit) const
{ … }
inline int8_t
UnicodeString::doCaseCompare(int32_t start,
int32_t thisLength,
const UnicodeString &srcText,
int32_t srcStart,
int32_t srcLength,
uint32_t options) const
{ … }
inline int8_t
UnicodeString::caseCompare(const UnicodeString &text, uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompare(int32_t start,
int32_t _length,
const UnicodeString &srcText,
uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompare(ConstChar16Ptr srcChars,
int32_t srcLength,
uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompare(int32_t start,
int32_t _length,
const UnicodeString &srcText,
int32_t srcStart,
int32_t srcLength,
uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompare(int32_t start,
int32_t _length,
const char16_t *srcChars,
uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompare(int32_t start,
int32_t _length,
const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength,
uint32_t options) const { … }
inline int8_t
UnicodeString::caseCompareBetween(int32_t start,
int32_t limit,
const UnicodeString &srcText,
int32_t srcStart,
int32_t srcLimit,
uint32_t options) const { … }
inline int32_t
UnicodeString::indexOf(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::indexOf(const UnicodeString& text) const
{ … }
inline int32_t
UnicodeString::indexOf(const UnicodeString& text,
int32_t start) const { … }
inline int32_t
UnicodeString::indexOf(const UnicodeString& text,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::indexOf(const char16_t *srcChars,
int32_t srcLength,
int32_t start) const { … }
inline int32_t
UnicodeString::indexOf(ConstChar16Ptr srcChars,
int32_t srcLength,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::indexOf(char16_t c,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::indexOf(UChar32 c,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::indexOf(char16_t c) const
{ … }
inline int32_t
UnicodeString::indexOf(UChar32 c) const
{ … }
inline int32_t
UnicodeString::indexOf(char16_t c,
int32_t start) const { … }
inline int32_t
UnicodeString::indexOf(UChar32 c,
int32_t start) const { … }
inline int32_t
UnicodeString::lastIndexOf(ConstChar16Ptr srcChars,
int32_t srcLength,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(const char16_t *srcChars,
int32_t srcLength,
int32_t start) const { … }
inline int32_t
UnicodeString::lastIndexOf(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(const UnicodeString& text,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(const UnicodeString& text,
int32_t start) const { … }
inline int32_t
UnicodeString::lastIndexOf(const UnicodeString& text) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(char16_t c,
int32_t start,
int32_t _length) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(UChar32 c,
int32_t start,
int32_t _length) const { … }
inline int32_t
UnicodeString::lastIndexOf(char16_t c) const
{ … }
inline int32_t
UnicodeString::lastIndexOf(UChar32 c) const { … }
inline int32_t
UnicodeString::lastIndexOf(char16_t c,
int32_t start) const { … }
inline int32_t
UnicodeString::lastIndexOf(UChar32 c,
int32_t start) const { … }
inline UBool
UnicodeString::startsWith(const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::startsWith(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const
{ … }
inline UBool
UnicodeString::startsWith(ConstChar16Ptr srcChars, int32_t srcLength) const { … }
inline UBool
UnicodeString::startsWith(const char16_t *srcChars, int32_t srcStart, int32_t srcLength) const { … }
inline UBool
UnicodeString::endsWith(const UnicodeString& text) const
{ … }
inline UBool
UnicodeString::endsWith(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength) const { … }
inline UBool
UnicodeString::endsWith(ConstChar16Ptr srcChars,
int32_t srcLength) const { … }
inline UBool
UnicodeString::endsWith(const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength) const { … }
inline UnicodeString&
UnicodeString::replace(int32_t start,
int32_t _length,
const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::replace(int32_t start,
int32_t _length,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::replace(int32_t start,
int32_t _length,
ConstChar16Ptr srcChars,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::replace(int32_t start,
int32_t _length,
const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::replace(int32_t start,
int32_t _length,
char16_t srcChar)
{ … }
inline UnicodeString&
UnicodeString::replaceBetween(int32_t start,
int32_t limit,
const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::replaceBetween(int32_t start,
int32_t limit,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLimit)
{ … }
inline UnicodeString&
UnicodeString::findAndReplace(const UnicodeString& oldText,
const UnicodeString& newText)
{ … }
inline UnicodeString&
UnicodeString::findAndReplace(int32_t start,
int32_t _length,
const UnicodeString& oldText,
const UnicodeString& newText)
{ … }
inline void
UnicodeString::doExtract(int32_t start,
int32_t _length,
UnicodeString& target) const
{ … }
inline void
UnicodeString::extract(int32_t start,
int32_t _length,
Char16Ptr target,
int32_t targetStart) const
{ … }
inline void
UnicodeString::extract(int32_t start,
int32_t _length,
UnicodeString& target) const
{ … }
#if !UCONFIG_NO_CONVERSION
inline int32_t
UnicodeString::extract(int32_t start,
int32_t _length,
char *dst,
const char *codepage) const
{
return extract(start, _length, dst, dst != nullptr ? 0xffffffff : 0, codepage);
}
#endif
inline void
UnicodeString::extractBetween(int32_t start,
int32_t limit,
char16_t *dst,
int32_t dstStart) const { … }
inline UnicodeString
UnicodeString::tempSubStringBetween(int32_t start, int32_t limit) const { … }
inline char16_t
UnicodeString::doCharAt(int32_t offset) const
{ … }
inline char16_t
UnicodeString::charAt(int32_t offset) const
{ … }
inline char16_t
UnicodeString::operator[] (int32_t offset) const
{ … }
inline UBool
UnicodeString::isEmpty() const { … }
inline void
UnicodeString::setZeroLength() { … }
inline void
UnicodeString::setShortLength(int32_t len) { … }
inline void
UnicodeString::setLength(int32_t len) { … }
inline void
UnicodeString::setToEmpty() { … }
inline void
UnicodeString::setArray(char16_t *array, int32_t len, int32_t capacity) { … }
inline UnicodeString&
UnicodeString::operator= (char16_t ch)
{ … }
inline UnicodeString&
UnicodeString::operator= (UChar32 ch)
{ … }
inline UnicodeString&
UnicodeString::setTo(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::setTo(const UnicodeString& srcText,
int32_t srcStart)
{ … }
inline UnicodeString&
UnicodeString::setTo(const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::setTo(const char16_t *srcChars,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::setTo(char16_t srcChar)
{ … }
inline UnicodeString&
UnicodeString::setTo(UChar32 srcChar)
{ … }
inline UnicodeString&
UnicodeString::append(const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::append(const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::append(const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::append(ConstChar16Ptr srcChars,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::append(char16_t srcChar)
{ … }
inline UnicodeString&
UnicodeString::operator+= (char16_t ch)
{ … }
inline UnicodeString&
UnicodeString::operator+= (UChar32 ch) { … }
inline UnicodeString&
UnicodeString::operator+= (const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
const UnicodeString& srcText,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
const UnicodeString& srcText)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
const char16_t *srcChars,
int32_t srcStart,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
ConstChar16Ptr srcChars,
int32_t srcLength)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
char16_t srcChar)
{ … }
inline UnicodeString&
UnicodeString::insert(int32_t start,
UChar32 srcChar)
{ … }
inline UnicodeString&
UnicodeString::remove()
{ … }
inline UnicodeString&
UnicodeString::remove(int32_t start,
int32_t _length)
{ … }
inline UnicodeString&
UnicodeString::removeBetween(int32_t start,
int32_t limit)
{ … }
inline UnicodeString &
UnicodeString::retainBetween(int32_t start, int32_t limit) { … }
inline UBool
UnicodeString::truncate(int32_t targetLength)
{ … }
inline UnicodeString&
UnicodeString::reverse()
{ … }
inline UnicodeString&
UnicodeString::reverse(int32_t start,
int32_t _length)
{ … }
U_NAMESPACE_END
#endif
#endif