pub struct FilterEngine { /* private fields */ }
Expand description
Multi-level filtering engine for efficient record filtering
Implementations§
Source§impl FilterEngine
impl FilterEngine
Sourcepub fn new(index: Arc<BinaryIndex>) -> Self
pub fn new(index: Arc<BinaryIndex>) -> Self
Create a new filter engine with the given index
Sourcepub fn filter_candidates(
&mut self,
filters: &[AllocationFilter],
) -> Result<Vec<usize>, BinaryExportError>
pub fn filter_candidates( &mut self, filters: &[AllocationFilter], ) -> Result<Vec<usize>, BinaryExportError>
Perform multi-level filtering to get candidate record indices
Sourcepub fn apply_precise_filters(
&mut self,
allocations: Vec<AllocationInfo>,
filters: &[AllocationFilter],
) -> Result<Vec<AllocationInfo>, BinaryExportError>
pub fn apply_precise_filters( &mut self, allocations: Vec<AllocationInfo>, filters: &[AllocationFilter], ) -> Result<Vec<AllocationInfo>, BinaryExportError>
Apply precise filtering to loaded allocation records
Sourcepub fn matches_all_filters(
&self,
allocation: &AllocationInfo,
filters: &[AllocationFilter],
) -> bool
pub fn matches_all_filters( &self, allocation: &AllocationInfo, filters: &[AllocationFilter], ) -> bool
Check if an allocation matches all filters
Sourcepub fn get_stats(&self) -> &FilterStats
pub fn get_stats(&self) -> &FilterStats
Get filtering statistics
Sourcepub fn reset_stats(&mut self)
pub fn reset_stats(&mut self)
Reset filtering statistics
Auto Trait Implementations§
impl Freeze for FilterEngine
impl RefUnwindSafe for FilterEngine
impl Send for FilterEngine
impl Sync for FilterEngine
impl Unpin for FilterEngine
impl UnwindSafe for FilterEngine
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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