pub trait SearchSorted<T> {
// Required method
fn search_sorted_by<F: FnMut(usize) -> VortexResult<Ordering>, N: FnMut(usize) -> VortexResult<Ordering>>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> VortexResult<SearchResult>;
// Provided method
fn search_sorted(
&self,
value: &T,
side: SearchSortedSide,
) -> VortexResult<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) -> VortexResult<Ordering>, N: FnMut(usize) -> VortexResult<Ordering>>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> VortexResult<SearchResult>
fn search_sorted_by<F: FnMut(usize) -> VortexResult<Ordering>, N: FnMut(usize) -> VortexResult<Ordering>>( &self, find: F, side_find: N, side: SearchSortedSide, ) -> VortexResult<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(
&self,
value: &T,
side: SearchSortedSide,
) -> VortexResult<SearchResult>where
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.