pub struct FirstMatchObjective<T, F>{ /* private fields */ }Expand description
Returns first candidate that passes predicate.
Implementations§
Trait Implementations§
Source§impl<T: Send + Sync, F> Objective<T> for FirstMatchObjective<T, F>
impl<T: Send + Sync, F> Objective<T> for FirstMatchObjective<T, F>
Source§fn score(&self, candidate: &T, _context: &ObjectiveContext) -> f64
fn score(&self, candidate: &T, _context: &ObjectiveContext) -> f64
Evaluate a single candidate.
Source§fn select<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> ObjectiveResult<Selection<&'a T>>
fn select<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> ObjectiveResult<Selection<&'a T>>
Select the best candidate from a list. Read more
Source§fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
Precision (inverse variance) estimate for the score of a candidate. Read more
Source§fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
Check if a score passes the threshold. Read more
Source§fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
Check if a candidate passes the threshold.
Source§fn batch_score(
&self,
candidates: &[T],
context: &ObjectiveContext,
) -> Vec<(usize, f64)>
fn batch_score( &self, candidates: &[T], context: &ObjectiveContext, ) -> Vec<(usize, f64)>
Score a batch of candidates and return the passing
(index, score) pairs. Read moreSource§fn select_top<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates. Read more
Auto Trait Implementations§
impl<T, F> Freeze for FirstMatchObjective<T, F>where
F: Freeze,
impl<T, F> RefUnwindSafe for FirstMatchObjective<T, F>where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, F> Send for FirstMatchObjective<T, F>where
T: Send,
impl<T, F> Sync for FirstMatchObjective<T, F>where
T: Sync,
impl<T, F> Unpin for FirstMatchObjective<T, F>
impl<T, F> UnsafeUnpin for FirstMatchObjective<T, F>where
F: UnsafeUnpin,
impl<T, F> UnwindSafe for FirstMatchObjective<T, F>where
F: UnwindSafe,
T: UnwindSafe,
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<O, T> DeterministicObjective<T> for O
impl<O, T> DeterministicObjective<T> for O
Source§fn select_deterministic<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> Result<Selection<&'a T>, ObjectiveError>
fn select_deterministic<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> Result<Selection<&'a T>, ObjectiveError>
Select the best candidate with deterministic tie-breaking.
Source§fn select_top_deterministic<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top_deterministic<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates with deterministic ordering.