Enum regex_syntax::utf8::Utf8Sequence [−][src]
pub enum Utf8Sequence {
One(Utf8Range),
Two([Utf8Range; 2]),
Three([Utf8Range; 3]),
Four([Utf8Range; 4]),
}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 successive byte ranges.
Three successive byte ranges.
Four successive byte ranges.
Implementations
impl Utf8Sequence[src]
impl Utf8Sequence[src]pub fn as_slice(&self) -> &[Utf8Range][src]
Returns the underlying sequence of byte ranges as a slice.
pub fn len(&self) -> usize[src]
Returns the number of byte ranges in this sequence.
The length is guaranteed to be in the closed interval [1, 4].
pub fn reverse(&mut self)[src]
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.
pub fn matches(&self, bytes: &[u8]) -> bool[src]
Returns true if and only if a prefix of bytes matches this sequence
of byte ranges.
Trait Implementations
impl Clone for Utf8Sequence[src]
impl Clone for Utf8Sequence[src]fn clone(&self) -> Utf8Sequence[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<'a> IntoIterator for &'a Utf8Sequence[src]
impl<'a> IntoIterator for &'a Utf8Sequence[src]impl Ord for Utf8Sequence[src]
impl Ord for Utf8Sequence[src]impl PartialEq<Utf8Sequence> for Utf8Sequence[src]
impl PartialEq<Utf8Sequence> for Utf8Sequence[src]fn eq(&self, other: &Utf8Sequence) -> bool[src]
fn ne(&self, other: &Utf8Sequence) -> bool[src]
impl PartialOrd<Utf8Sequence> for Utf8Sequence[src]
impl PartialOrd<Utf8Sequence> for Utf8Sequence[src]