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]