SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Provides read-write access to a range of code units within a referenced RWUString. More...
#include <rw/i18n/RWUSubString.h>
Public Member Functions | |
RWUSubString (const RWUSubString &source) | |
size_t | boundsCheckIndex (size_t offset) const |
const RWUChar16 * | data () const |
bool | isNull () const |
size_t | length () const |
RWUChar16 | operator() (size_t offset) const |
RWUChar16 & | operator() (size_t offset) |
RWUSubString & | operator= (const RWBasicUString &source) |
RWUSubString & | operator= (const RWUSubString &source) |
RWUSubString & | operator= (const RWUConstSubString &source) |
RWUSubString & | operator= (const RWUChar16 *source) |
RWUSubString & | operator= (const RWUChar32 *source) |
RWUSubString & | operator= (RWUChar16 codeUnit) |
RWUSubString & | operator= (RWUChar32 codeUnit) |
RWUChar16 | operator[] (size_t offset) const |
RWUChar16 & | operator[] (size_t offset) |
size_t | start () const |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator!= (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator!= (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator!= (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator!= (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator!= (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator!= (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator!= (const RWUSubString &lhs, const RWBasicUString &rhs) |
bool | operator< (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator< (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator< (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator< (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator< (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator< (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator< (const RWUSubString &lhs, const RWBasicUString &rhs) |
std::ostream & | operator<< (std::ostream &os, const RWUSubString &ustr) |
bool | operator<= (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator<= (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator<= (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator<= (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator<= (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator<= (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator<= (const RWUSubString &lhs, const RWBasicUString &rhs) |
bool | operator== (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator== (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator== (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator== (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator== (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator== (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator== (const RWUSubString &lhs, const RWBasicUString &rhs) |
bool | operator> (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator> (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator> (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator> (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator> (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator> (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator> (const RWUSubString &lhs, const RWBasicUString &rhs) |
bool | operator>= (const RWUSubString &lhs, const RWUSubString &rhs) |
bool | operator>= (const RWUChar16 *lhs, const RWUSubString &rhs) |
bool | operator>= (const RWUSubString &lhs, const RWUChar16 *rhs) |
bool | operator>= (const RWUChar32 *lhs, const RWUSubString &rhs) |
bool | operator>= (const RWUSubString &lhs, const RWUChar32 *rhs) |
bool | operator>= (const RWBasicUString &lhs, const RWUSubString &rhs) |
bool | operator>= (const RWUSubString &lhs, const RWBasicUString &rhs) |
std::istream & | operator>> (std::istream &is, RWUSubString &ustr) |
RWUSubString allows read-write access to a range of code units within a referenced RWUString. The range is defined by a starting position and an length within the referenced string. For example, the 7th
through the 11th
elements, inclusive, would have a starting position of 7
and an extent of 5
.
There are no public constructors. RWUSubString instances are constructed by various functions of the RWUString class. Typically, substrings are created and used anonymously, then destroyed immediately.
RWUSubString performs bounds checking in all methods that accept an offset value. These methods throw an RWBoundsErr exception if an offset exceeds the current bounds of the substring.
Program Output:
|
inline |
Constructs an RWUSubString from source.
|
inline |
Returns offset if the value is in bounds.
RWBoundsErr | Thrown if self is a null substring or if offset is greater than or equal to length() |
|
inline |
Returns a pointer to the string contents referenced by self.
The storage referenced by this pointer is owned by the RWUString associated with this substring. This storage may not be deleted or modified. The pointer becomes invalid if the RWUString is modified or destroyed.
RWBoundsErr | Thrown if self is a null substring. |
|
inline |
Returns true
if the substring defined by self is null or empty; otherwise, false
.
|
inline |
Returns the number of code units in the substring defined by self.
|
inline |
Returns the code unit located at index offset within self. The value of offset must be less than length().
RWBoundsErr | Thrown if self is a null substring, or if offset is greater than or equal to length(). |
|
inline |
Returns a reference object that provides read-write access to the code unit located at index offset within self. The result can be used as an RWUChar16 value, or as an l-value in an RWUChar16 assignment expression. The value of offset must be less than length().
RWBoundsErr | Thrown if self is a null substring, or if offset is greater than or equal to length(). |
|
inline |
Replaces the substring defined by self with source.
|
inline |
Replaces the substring defined by self with source.
|
inline |
Replaces the substring defined by self with source.
|
inline |
Replaces the substring defined by self with the null-terminated array source.
|
inline |
Replaces the substring defined by self with the null-terminated array source.
|
inline |
Replaces the substring defined by self with codeUnit.
|
inline |
Replaces the substring defined by self with codeUnit.
|
inline |
Returns the code unit located at index offset within self. The value of offset must be less than length().
RWBoundsErr | Thrown if self is a null substring, or if offset is greater than or equal to length(). |
|
inline |
Returns a reference object that provides read-write access to the code unit located at index offset within self. The result can be used as an RWUChar16 value, or as an l-value in an RWUChar16 assignment expression. The value of offset must be less than length().
RWBoundsErr | Thrown if self is a null substring, or if offset is greater than or equal to length(). |
|
inline |
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. Also returns false
if both substrings are invalid. This operator represents the logical negation of operator==.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
|
related |
Returns true
if lhs does not have the same length as, or lexicographically differs from, rhs; otherwise, false
. This operator represents the logical negation of operator==.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Returns true
if lhs is lexicographically less than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Writes the sequence of bytes to std::ostream that are produced when the contents of ustr are converted into the character encoding scheme specified by the currently active target RWUFromUnicodeConversionContext.
If os.width()
is greater than the number of code points contained in the source string, the output is padded using a single space fill character (U+0020
). If os.width()
is less than the number of code points contained the source string, the entire contents of the string are inserted into the output stream. Any padding is inserted after the string if the std::ios_base::left format flag is set, or before if std::ios_base::right is set or if neither flag is set.
RWUException | Thrown to report conversion errors. |
std::ios_base::failure | Thrown to report any errors detected while performing stream operations. |
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. Returns true
if both substrings are null. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the shorter string is considered less than the longer string.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
|
related |
Returns true
if lhs has the same length and is lexicographically identical to rhs; otherwise, false
.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Returns true
if lhs is lexicographically greater than rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodeUnits() in that case.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The lhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
The rhs string must be null-terminated. This method cannot be used to compare strings containing embedded nulls; use RWBasicUString::compareCodePoints() in that case.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Returns true
if lhs is lexicographically greater than or equal to rhs; otherwise, false
. If the two strings are identical over the length of the shortest string, then the longer string is considered greater than the shorter string.
|
related |
Reads an encoded byte stream from std::istream. The byte sequence is converted into UTF-16 using the currently active RWUToUnicodeConversionContext. Leading whitespace is always skipped before storing any code points, regardless of the std::ios::skipws format flag setting. Code points are then extracted until:
.width()
code points are read, if is.width()
is greater than zeroThe following Unicode characters are treated as whitespace delimiters:
U+0009
HORIZONTAL TABULATIONU+000A
LINE FEEDU+000B
VERTICAL TABULATIONU+000C
FORM FEEDU+000D
CARRIAGE RETURNU+001C
FILE SEPARATORU+001D
GROUP SEPARATORU+001E
RECORD SEPARATORU+001F
UNIT SEPARATORU+0020
SPACEU+0085
NEXT LINEU+1680
OGHAM SPACE MARKU+2000
EN QUADU+2001
EM QUADU+2002
EN SPACEU+2003
EM SPACEU+2004
THREE-PER-EM SPACEU+2005
FOUR-PER-EM SPACEU+2006
SIX-PER-EM SPACEU+2007
FIGURE SPACEU+2008
PUNCTUATION SPACEU+2009
THIN SPACEU+200A
HAIR SPACEU+200B
ZERO WIDTH SPACEU+2028
LINE SEPARATORU+2029
PARAGRAPH SEPARATORU+3000
IDEOGRAPHIC SPACEUnlike standard extractors, this extractor must consume and discard the trailing whitespace delimiter. This behavior is due to the nature of the UTF-8 encoding scheme, which requires multiple bytes to encode some whitespace characters. For the same reason, this extractor cannot support the the noskipws
condition where the std::ios_base::skipws formate flag has been cleared; each extraction will consume one whitespace character. A whitespace manipulator is not provided either, since such a manipulator would consume the first non-whitespace character following a sequence of whitespace characters.
RWUException | Thrown to report conversion errors. |
std::ios_base::failure | Thrown to report any errors detected while performing stream operations. |
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |