[][src]Struct bintrie::SearchHeuristic

pub struct SearchHeuristic<F>(pub F, pub bool);

Chooses paths to search down.

Wrap a type with the bound F: FnMut(bool) -> bool + Clone and this will implement Heuristic. The second argument has to be the first choice. The function will be cloned internally so that from the function's point of view it is being called in the order it descends in. It is passed the side that is being entered and returns which side it would like to enter next.

This is not particularly useful for most applications, but if you want to search different halves of a binary tree first, this is correct. This could be used to make an approximate nearest-neighbor (ANN) solution, but the quality of the match would then be fixed and depend on which bits differed between two matches (more significant bits differing would throw it out).

Trait Implementations

impl<F> Heuristic for SearchHeuristic<F> where
    F: FnMut(bool) -> bool + Clone
[src]

type Iter = Cloned<Iter<'static, bool>>

impl<F: Clone> Clone for SearchHeuristic<F>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<F> Send for SearchHeuristic<F> where
    F: Send

impl<F> Sync for SearchHeuristic<F> where
    F: Sync

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.