pub trait SearchSorted<T> {
// Required method
fn search_sorted_by<F: FnMut(usize) -> Ordering, N: FnMut(usize) -> Ordering>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> SearchResult;
// Provided methods
fn search_sorted_many<I: IntoIterator<Item = T>>(
&self,
values: I,
side: SearchSortedSide,
) -> impl Iterator<Item = SearchResult>
where Self: IndexOrd<T> { ... }
fn search_sorted(&self, value: &T, side: SearchSortedSide) -> SearchResult
where Self: IndexOrd<T> { ... }
}Expand description
Searches for value assuming the array is sorted.
Returned indices satisfy following condition if the search for value was to be inserted into the array at found positions
| side | result satisfies |
|---|---|
| left | array[i-1] < value <= array[i] |
| right | array[i-1] <= value < array[i] |
Required Methods§
Sourcefn search_sorted_by<F: FnMut(usize) -> Ordering, N: FnMut(usize) -> Ordering>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> SearchResult
fn search_sorted_by<F: FnMut(usize) -> Ordering, N: FnMut(usize) -> Ordering>( &self, find: F, side_find: N, side: SearchSortedSide, ) -> SearchResult
find function is used to find the element if it exists, if element exists side_find will be used to find desired index amongst equal values
Provided Methods§
fn search_sorted_many<I: IntoIterator<Item = T>>(
&self,
values: I,
side: SearchSortedSide,
) -> impl Iterator<Item = SearchResult>where
Self: IndexOrd<T>,
fn search_sorted(&self, value: &T, side: SearchSortedSide) -> SearchResultwhere
Self: IndexOrd<T>,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.