pub trait Array: HasLength + Index<usize> {
// Provided methods
fn get(&self, index: usize) -> Option<&Self::Output> { ... }
fn first(&self) -> Option<&Self::Output> { ... }
fn last(&self) -> Option<&Self::Output> { ... }
fn contains(&self, target: &Self::Output) -> bool
where Self::Output: PartialEq { ... }
fn binary_search(&self, target: &Self::Output) -> Result<usize, usize>
where Self::Output: Ord { ... }
fn binary_search_by<F>(&self, compare: F) -> Result<usize, usize>
where F: FnMut(&Self::Output) -> Ordering { ... }
fn binary_search_by_key<K, F>(
&self,
key: &K,
extract: F,
) -> Result<usize, usize>
where F: FnMut(&Self::Output) -> K,
K: Ord { ... }
fn is_sorted(&self) -> bool
where Self::Output: PartialOrd { ... }
fn is_sorted_by<F>(&self, compare: F) -> bool
where F: FnMut(&Self::Output, &Self::Output) -> Option<Ordering> { ... }
fn is_sorted_by_key<K, F>(&self, extract: F) -> bool
where F: FnMut(&Self::Output) -> K,
K: PartialOrd { ... }
fn starts_with(&self, slice: &[Self::Output]) -> bool
where Self::Output: Sized + PartialEq { ... }
fn ends_with(&self, slice: &[Self::Output]) -> bool
where Self::Output: Sized + PartialEq { ... }
}Expand description
Trait for data structures which are indexed like arrays.
Types implementing this trait must have populated indexes from
0 up to but not including self.len().
Provided Methods§
Sourcefn get(&self, index: usize) -> Option<&Self::Output>
fn get(&self, index: usize) -> Option<&Self::Output>
Get a reference to the element at the given index.
Sourcefn contains(&self, target: &Self::Output) -> bool
fn contains(&self, target: &Self::Output) -> bool
Return true if an element equivalent to target exists in the array.
Sourcefn binary_search(&self, target: &Self::Output) -> Result<usize, usize>
fn binary_search(&self, target: &Self::Output) -> Result<usize, usize>
Perform a binary search for target.
Sourcefn binary_search_by<F>(&self, compare: F) -> Result<usize, usize>
fn binary_search_by<F>(&self, compare: F) -> Result<usize, usize>
Perform a binary search using a comparator function.
Sourcefn binary_search_by_key<K, F>(
&self,
key: &K,
extract: F,
) -> Result<usize, usize>
fn binary_search_by_key<K, F>( &self, key: &K, extract: F, ) -> Result<usize, usize>
Perform a binary search using a key and a key extractor function.
Sourcefn is_sorted(&self) -> boolwhere
Self::Output: PartialOrd,
fn is_sorted(&self) -> boolwhere
Self::Output: PartialOrd,
Test whether the array is sorted.
Sourcefn is_sorted_by<F>(&self, compare: F) -> bool
fn is_sorted_by<F>(&self, compare: F) -> bool
Test whether the array is sorted using a comparator function.
Sourcefn is_sorted_by_key<K, F>(&self, extract: F) -> bool
fn is_sorted_by_key<K, F>(&self, extract: F) -> bool
Test whether the array is sorted using a key extractor function.
Sourcefn starts_with(&self, slice: &[Self::Output]) -> bool
fn starts_with(&self, slice: &[Self::Output]) -> bool
Test whether the array starts with the elements in slice.
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.