Enum Utf8Sequence
enum Utf8Sequence
Utf8Sequence represents a sequence of byte ranges.
To match a Utf8Sequence, a candidate byte sequence must match each successive range.
For example, if there are two ranges, [C2-DF][80-BF], then the byte
sequence \xDD\x61 would not match because 0x61 < 0x80.
Variants
-
One(Utf8Range) One byte range.
-
Two([Utf8Range; 2]) Two successive byte ranges.
-
Three([Utf8Range; 3]) Three successive byte ranges.
-
Four([Utf8Range; 4]) Four successive byte ranges.
Implementations
impl Utf8Sequence
fn as_slice(self: &Self) -> &[Utf8Range]Returns the underlying sequence of byte ranges as a slice.
fn len(self: &Self) -> usizeReturns the number of byte ranges in this sequence.
The length is guaranteed to be in the closed interval
[1, 4].fn reverse(self: &mut Self)Reverses the ranges in this sequence.
For example, if this corresponds to the following sequence:
[D0-D3][80-BF]Then after reversal, it will be
[80-BF][D0-D3]This is useful when one is constructing a UTF-8 automaton to match character classes in reverse.
fn matches(self: &Self, bytes: &[u8]) -> boolReturns true if and only if a prefix of
bytesmatches this sequence of byte ranges.
impl Clone for Utf8Sequence
fn clone(self: &Self) -> Utf8Sequence
impl Copy for Utf8Sequence
impl Debug for Utf8Sequence
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Eq for Utf8Sequence
impl Freeze for Utf8Sequence
impl Ord for Utf8Sequence
fn cmp(self: &Self, other: &Utf8Sequence) -> Ordering
impl PartialEq for Utf8Sequence
fn eq(self: &Self, other: &Utf8Sequence) -> bool
impl PartialOrd for Utf8Sequence
fn partial_cmp(self: &Self, other: &Utf8Sequence) -> Option<Ordering>
impl RefUnwindSafe for Utf8Sequence
impl Send for Utf8Sequence
impl StructuralPartialEq for Utf8Sequence
impl Sync for Utf8Sequence
impl Unpin for Utf8Sequence
impl UnsafeUnpin for Utf8Sequence
impl UnwindSafe for Utf8Sequence
impl<T> Any for Utf8Sequence
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Utf8Sequence
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Utf8Sequence
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Utf8Sequence
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Utf8Sequence
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Utf8Sequence
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Utf8Sequence
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Utf8Sequence
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Utf8Sequence
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>