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.