Struct grep_matcher::ByteSet
source · pub struct ByteSet(/* private fields */);
Expand description
A set of bytes.
In this crate, byte sets are used to express bytes that can never appear
anywhere in a match for a particular implementation of the Matcher
trait.
Specifically, if such a set can be determined, then it’s possible for
callers to perform additional operations on the basis that certain bytes
may never match.
For example, if a search is configured to possibly produce results that span multiple lines but a caller provided pattern can never match across multiple lines, then it may make sense to divert to more optimized line oriented routines that don’t need to handle the multi-line match case.
Implementations§
source§impl ByteSet
impl ByteSet
sourcepub fn full() -> ByteSet
pub fn full() -> ByteSet
Create a full set of bytes such that every possible byte is in the set returned.
sourcepub fn add(&mut self, byte: u8)
pub fn add(&mut self, byte: u8)
Add a byte to this set.
If the given byte already belongs to this set, then this is a no-op.
sourcepub fn remove(&mut self, byte: u8)
pub fn remove(&mut self, byte: u8)
Remove a byte from this set.
If the given byte is not in this set, then this is a no-op.
sourcepub fn remove_all(&mut self, start: u8, end: u8)
pub fn remove_all(&mut self, start: u8, end: u8)
Remove an inclusive range of bytes.