Struct wtf8::Wtf8
[−]
[src]
pub struct Wtf8 { /* fields omitted */ }
A borrowed slice of well-formed WTF-8 data.
Similar to &str
, but can additionally contain surrogate code points
if they’re not in a surrogate pair.
Methods
impl Wtf8
[src]
fn from_str(value: &str) -> &Wtf8
Create a WTF-8 slice from a UTF-8 &str
slice.
Since WTF-8 is a superset of UTF-8, this always succeeds.
fn len(&self) -> usize
Return the length, in WTF-8 bytes.
fn slice(&self, begin: usize, end: usize) -> &Wtf8
Return a slice of the given string for the byte range [begin
..end
).
Failure
Fails when begin
and end
do not point to code point boundaries,
or point beyond the end of the string.
fn slice_from(&self, begin: usize) -> &Wtf8
Return a slice of the given string from byte begin
to its end.
Failure
Fails when begin
is not at a code point boundary,
or is beyond the end of the string.
fn slice_to(&self, end: usize) -> &Wtf8
Return a slice of the given string from its beginning to byte end
.
Failure
Fails when end
is not at a code point boundary,
or is beyond the end of the string.
fn ascii_byte_at(&self, position: usize) -> u8
Return the code point at position
if it is in the ASCII range,
or `b'\xFF' otherwise.
Failure
Fails if position
is beyond the end of the string.
fn code_points(&self) -> Wtf8CodePoints
Return an iterator for the string’s code points.
fn as_str(&self) -> Option<&str>
Try to convert the string to UTF-8 and return a &str
slice.
Return None
if the string contains surrogates.
This does not copy the data.
fn to_string_lossy(&self) -> Cow<str>
Lossily convert the string to UTF-8.
Return an UTF-8 &str
slice if the contents are well-formed in UTF-8.
Surrogates are replaced with "\u{FFFD}"
(the replacement character “�”).
This only copies the data if necessary (if it contains any surrogate).
fn to_ill_formed_utf16(&self) -> IllFormedUtf16CodeUnits
Convert the WTF-8 string to potentially ill-formed UTF-16 and return an iterator of 16-bit code units.
This is lossless:
calling Wtf8Buf::from_ill_formed_utf16
on the resulting code units
would always return the original WTF-8 string.
Trait Implementations
impl PartialEq for Wtf8
[src]
fn eq(&self, other: &Wtf8) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl Eq for Wtf8
[src]
impl PartialOrd for Wtf8
[src]
fn partial_cmp(&self, other: &Wtf8) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Wtf8) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Wtf8) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Wtf8) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Wtf8) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for Wtf8
[src]
fn cmp(&self, other: &Wtf8) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl Debug for Wtf8
[src]
Format the slice with double quotes,
and surrogates as \u
followed by four hexadecimal digits.
Example: "a\u{D800}"
for a slice with code points [U+0061, U+D800]
fn fmt(&self, formatter: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl<'a> PartialEq<Wtf8Buf> for &'a Wtf8
[src]
fn eq(&self, other: &Wtf8Buf) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.