pub(super) enum Driver {
FullScan,
MatchAll,
Sub {
finder: Finder<'static>,
needle_len: usize,
},
Prefix {
bytes: Vec<u8>,
},
Suffixes {
suffixes: Vec<Vec<u8>>,
files_only: bool,
},
}Expand description
Candidate generator for one AND group — a single sweep over the folded
name pool (the only contiguous one) instead of a per-entry matcher call.
Needles are always folded; a case-exact source term makes the sweep a
superset and its exact comparison runs as a residual
(CompiledGroup::driver_exact).
Variants§
FullScan
No usable positive literal: evaluate every entry.
MatchAll
Group has no terms at all (empty query / bare folder:-less group).
Sub
Prefix
Suffixes
Implementations§
Auto Trait Implementations§
impl Freeze for Driver
impl RefUnwindSafe for Driver
impl Send for Driver
impl Sync for Driver
impl Unpin for Driver
impl UnsafeUnpin for Driver
impl UnwindSafe for Driver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more