The QStringRef class provides a thin wrapper around QString 子字符串。 更多...
| 头: | #include <QStringRef> |
| Since: | Qt 4.3 |
注意: 此类的所有函数 可重入 .
| QStringRef () | |
| QStringRef (const QString * string , int position , int length ) | |
| QStringRef (const QString * string ) | |
| QStringRef (const QStringRef & other ) | |
| ~QStringRef () | |
| QStringRef | appendTo (QString * string ) const |
| const QChar | at (int position ) const |
| void | clear () |
| int | compare (const QString & other , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare (const QStringRef & other , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare (QLatin1String other , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| const QChar * | constData () const |
| bool | contains (const QString & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains (QChar ch , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains (const QStringRef & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains (QLatin1String str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count () const |
| int | count (const QString & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count (QChar ch , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count (const QStringRef & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| const QChar * | data () const |
| bool | endsWith (const QString & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith (QChar ch , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith (QLatin1String str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith (const QStringRef & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf (const QString & str , int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf (QLatin1String str , int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf (QChar ch , int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf (const QStringRef & str , int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | isEmpty () const |
| bool | isNull () const |
| int | lastIndexOf (const QString & str , int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf (QChar ch , int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf (QLatin1String str , int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf (const QStringRef & str , int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | length () const |
| int | localeAwareCompare (const QString & other ) const |
| int | localeAwareCompare (const QStringRef & other ) const |
| int | position () const |
| int | size () const |
| bool | startsWith (const QString & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith (QLatin1String str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith (const QStringRef & str , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith (QChar ch , Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| const QString * | string () const |
| QByteArray | toAscii () const |
| QByteArray | toLatin1 () const |
| QByteArray | toLocal8Bit () const |
| QString | toString () const |
| QVector<uint> | toUcs4 () const |
| QByteArray | toUtf8 () const |
| const QChar * | unicode () const |
| QStringRef & | operator= (const QStringRef & other ) |
| QStringRef & | operator= (const QString * string ) |
| int | compare (const QStringRef & s1 , const QString & s2 , Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare (const QStringRef & s1 , const QStringRef & s2 , Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare (const QStringRef & s1 , QLatin1String s2 , Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | localeAwareCompare (const QStringRef & s1 , const QString & s2 ) |
| int | localeAwareCompare (const QStringRef & s1 , const QStringRef & s2 ) |
| bool | operator< (const QStringRef & s1 , const QStringRef & s2 ) |
| bool | operator<= (const QStringRef & s1 , const QStringRef & s2 ) |
| bool | operator== (const QStringRef & s1 , const QStringRef & s2 ) |
| bool | operator== (const QString & s1 , const QStringRef & s2 ) |
| bool | operator== (const QLatin1String & s1 , const QStringRef & s2 ) |
| bool | operator> (const QStringRef & s1 , const QStringRef & s2 ) |
| bool | operator>= (const QStringRef & s1 , const QStringRef & s2 ) |
The QStringRef class provides a thin wrapper around QString 子字符串。
QStringRef provides a read-only subset of the QString API.
A string reference explicitly references a portion of a string () with a given size (), starting at a specific position ()。调用 toString () returns a copy of the data as a real QString 实例。
This class is designed to improve the performance of substring handling when manipulating substrings obtained from existing QString 实例。 QStringRef avoids the memory allocation and reference counting overhead of a standard QString by simply referencing a part of the original string. This can prove to be advantageous in low level code, such as that used in a parser, at the expense of potentially more complex code.
For most users, there are no semantic benefits to using QStringRef 而不是 QString since QStringRef requires attention to be paid to memory management issues, potentially making code more complex to write and maintain.
警告: A QStringRef is only valid as long as the referenced string exists. If the original string is deleted, the string reference points to an invalid memory location.
We suggest that you only use this class in stable code where profiling has clearly identified that performance improvements can be made by replacing standard string operations with the optimized substring handling provided by this class.
另请参阅 隐式共享类 .
Constructs an empty string reference.
Constructs a string reference to the range of characters in the given string specified by the starting position and length in characters.
警告: This function exists to improve performance as much as possible, and performs no bounds checking. For program correctness, position and length must describe a valid substring of string .
This means that the starting position must be positive or 0 and smaller than string 's length, and length must be positive or 0 but smaller than the string's length minus the starting position ; i.e, 0 <= position < string-> length () and 0 <= length <= string-> length () - position must both be satisfied.
Constructs a string reference to the given string .
构造副本为 other string reference.
Destroys the string reference.
Since this class is only used to refer to string data, and does not take ownership of it, no memory is freed when instances are destroyed.
Appends the string reference to string , and returns a new reference to the combined string data.
返回字符按给定索引 position in the string reference.
The position must be a valid index position in the string (i.e., 0 <= position < size ()).
Clears the contents of the string reference by making it null and empty.
[static]
int
QStringRef::
compare
(const
QStringRef
&
s1
, const
QString
&
s2
,
Qt::CaseSensitivity
cs
= Qt::CaseSensitive)
比较字符串 s1 采用字符串 s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2 .
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
该函数在 Qt 4.5 引入。
[static]
int
QStringRef::
compare
(const
QStringRef
&
s1
, const
QStringRef
&
s2
,
Qt::CaseSensitivity
cs
= Qt::CaseSensitive)
这是重载函数。
比较字符串 s1 采用字符串 s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2 .
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
该函数在 Qt 4.5 引入。
[static]
int
QStringRef::
compare
(const
QStringRef
&
s1
,
QLatin1String
s2
,
Qt::CaseSensitivity
cs
= Qt::CaseSensitive)
这是重载函数。
比较字符串 s1 采用字符串 s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2 .
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
该函数在 Qt 4.5 引入。
这是重载函数。
Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other 字符串。
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
相当于
compare(*this, other, cs)
.
该函数在 Qt 4.5 引入。
另请参阅 QString::compare ().
这是重载函数。
Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other 字符串。
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
相当于
compare(*this, other, cs)
.
该函数在 Qt 4.5 引入。
另请参阅 QString::compare ().
这是重载函数。
Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other 字符串。
若 cs is Qt::CaseSensitive , the comparison is case sensitive; otherwise the comparison is case insensitive.
相当于
compare(*this, other, cs)
.
该函数在 Qt 4.5 引入。
另请参阅 QString::compare ().
如同 unicode ().
Returns true if this string reference contains an occurrence of the string str ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
此函数重载 contains ().
Returns true if this string contains an occurrence of the character ch ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
此函数重载 contains ().
Returns true if this string reference contains an occurrence of the string reference str ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
此函数重载 contains ().
Returns true if this string reference contains an occurrence of the string str ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
This function was introduced in Qt 4,8.
Returns the number of characters referred to by the string reference. Equivalent to size () 和 length ().
返回 (潜在重叠) 出现数对于字符串 str in this string reference.
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::count (), contains (),和 indexOf ().
此函数重载 count ().
Returns the number of occurrences of the character ch in the string reference.
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::count (), contains (),和 indexOf ().
此函数重载 count ().
Returns the number of (potentially overlapping) occurrences of the string reference str in this string reference.
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::count (), contains (),和 indexOf ().
如同 unicode ().
Returns true if the string reference ends with str ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::endsWith () 和 startsWith ().
此函数重载 endsWith ().
Returns true if the string reference ends with ch ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::endsWith () 和 endsWith ().
此函数重载 endsWith ().
该函数在 Qt 4.8 引入。
另请参阅 QString::endsWith () 和 endsWith ().
此函数重载 endsWith ().
该函数在 Qt 4.8 引入。
另请参阅 QString::endsWith () 和 endsWith ().
Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from . Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
若 from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.
该函数在 Qt 4.8 引入。
另请参阅 QString::indexOf (), lastIndexOf (), contains (),和 count ().
Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from . Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
若 from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.
该函数在 Qt 4.8 引入。
另请参阅 QString::indexOf (), lastIndexOf (), contains (),和 count ().
此函数重载 indexOf ().
Returns the index position of the first occurrence of the character ch in the string reference, searching forward from index position from . Returns -1 if ch could not be found.
该函数在 Qt 4.8 引入。
另请参阅 QString::indexOf (), lastIndexOf (), contains (),和 count ().
此函数重载 indexOf ().
Returns the index position of the first occurrence of the string reference str in this string reference, searching forward from index position from . Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::indexOf (), lastIndexOf (), contains (),和 count ().
Returns true if the string reference has no characters; otherwise returns false.
A string reference is empty if its size is zero.
另请参阅 size ().
返回 true 若 string () returns a null pointer or a pointer to a null string; otherwise returns true.
另请参阅 size ().
Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from 。若 from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::lastIndexOf (), indexOf (), contains (),和 count ().
此函数重载 lastIndexOf ().
Returns the index position of the last occurrence of the character ch , searching backward from position from .
该函数在 Qt 4.8 引入。
另请参阅 QString::lastIndexOf (), indexOf (), contains (),和 count ().
此函数重载 lastIndexOf ().
Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from 。若 from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::lastIndexOf (), indexOf (), contains (),和 count ().
此函数重载 lastIndexOf ().
Returns the index position of the last occurrence of the string reference str in this string reference, searching backward from index position from 。若 from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str 找不到。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::lastIndexOf (), indexOf (), contains (),和 count ().
Returns the number of characters referred to by the string reference. Equivalent to size () 和 count ().
[static]
int
QStringRef::
localeAwareCompare
(const
QStringRef
&
s1
, const
QString
&
s2
)
比较 s1 with s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2 .
The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.
On Mac OS X, this function compares according the "Order for sorted lists" setting in the International prefereces panel.
该函数在 Qt 4.5 引入。
另请参阅 compare () 和 QTextCodec::locale ().
[static]
int
QStringRef::
localeAwareCompare
(const
QStringRef
&
s1
, const
QStringRef
&
s2
)
这是重载函数。
比较 s1 with s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2 .
The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.
该函数在 Qt 4.5 引入。
这是重载函数。
Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other 字符串。
The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.
该函数在 Qt 4.5 引入。
这是重载函数。
Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other 字符串。
The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.
该函数在 Qt 4.5 引入。
Returns the starting position in the referenced string that is referred to by the string reference.
Returns the number of characters referred to by the string reference. Equivalent to length () 和 count ().
Returns true if the string reference starts with str ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::startsWith () 和 endsWith ().
此函数重载 startsWith ().
该函数在 Qt 4.8 引入。
另请参阅 QString::startsWith () 和 endsWith ().
此函数重载 startsWith ().
该函数在 Qt 4.8 引入。
另请参阅 QString::startsWith () 和 endsWith ().
此函数重载 startsWith ().
Returns true if the string reference starts with ch ;否则返回 false。
若 cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
该函数在 Qt 4.8 引入。
另请参阅 QString::startsWith () 和 endsWith ().
Returns a pointer to the string referred to by the string reference, or 0 if it does not reference a string.
另请参阅 unicode ().
Returns an 8-bit representation of the string as a QByteArray .
If a codec has been set using QTextCodec::setCodecForCStrings (), it is used to convert Unicode to 8-bit char; otherwise this function does the same as toLatin1 ().
Note that, despite the name, this function does not necessarily return an US-ASCII (ANSI X3.4-1986) string and its result may not be US-ASCII compatible.
该函数在 Qt 4.8 引入。
另请参阅 toLatin1 (), toUtf8 (), toLocal8Bit (),和 QTextCodec .
Returns a Latin-1 representation of the string as a QByteArray .
The returned byte array is undefined if the string contains non-Latin1 characters. Those characters may be suppressed or replaced with a question mark.
该函数在 Qt 4.8 引入。
另请参阅 toAscii (), toUtf8 (), toLocal8Bit (),和 QTextCodec .
Returns the local 8-bit representation of the string as a QByteArray . The returned byte array is undefined if the string contains characters not supported by the local 8-bit encoding.
QTextCodec::codecForLocale () is used to perform the conversion from Unicode. If the locale encoding could not be determined, this function does the same as toLatin1 ().
If this string contains any characters that cannot be encoded in the locale, the returned byte array is undefined. Those characters may be suppressed or replaced by another.
该函数在 Qt 4.8 引入。
另请参阅 toAscii (), toLatin1 (), toUtf8 (),和 QTextCodec .
Returns a copy of the string reference as a QString 对象。
If the string reference is not a complete reference of the string (meaning that position () is 0 and size () 等于 string ()-> size ()), this function will allocate a new string to return.
另请参阅 string ().
Returns a UCS-4/UTF-32 representation of the string as a QVector <uint>.
UCS-4 is a Unicode codec and is lossless. All characters from this string can be encoded in UCS-4.
该函数在 Qt 4.8 引入。
另请参阅 toAscii (), toLatin1 (), toLocal8Bit (),和 QTextCodec .
Returns a UTF-8 representation of the string as a QByteArray .
UTF-8 is a Unicode codec and can represent all characters in a Unicode string like QString .
However, in the Unicode range, there are certain codepoints that are not considered characters. The Unicode standard reserves the last two codepoints in each Unicode Plane (U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, etc.), as well as 16 codepoints in the range U+FDD0..U+FDDF, inclusive, as non-characters. If any of those appear in the string, they may be discarded and will not appear in the UTF-8 representation, or they may be replaced by one or more replacement characters.
该函数在 Qt 4.8 引入。
另请参阅 toAscii (), toLatin1 (), toLocal8Bit (),和 QTextCodec .
Returns a Unicode representation of the string reference. Since the data stems directly from the referenced string, it is not null-terminated unless the string reference includes the string's null terminator.
另请参阅 string ().
赋值 other string reference to this string reference, and returns the result.
Constructs a string reference to the given string and assigns it to this string reference, returning the result.
Returns true if string reference s1 is lexically less than string reference s2 ;否则返回 false。
The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings using the QString::localeAwareCompare () 函数。
Returns true if string reference s1 is lexically less than or equal to string reference s2 ;否则返回 false。
The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings using the QString::localeAwareCompare () 函数。
Returns true if string reference s1 is lexically equal to string reference s2 ;否则返回 false。
Returns true if string s1 is lexically equal to string reference s2 ;否则返回 false。
Returns true if string s1 is lexically equal to string reference s2 ;否则返回 false。
Returns true if string reference s1 is lexically greater than string reference s2 ;否则返回 false。
The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings using the QString::localeAwareCompare () 函数。
Returns true if string reference s1 is lexically greater than or equal to string reference s2 ;否则返回 false。
The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings using the QString::localeAwareCompare () 函数。