Trait core::slice::SliceIndex [−][src]
pub trait SliceIndex<T: ?Sized> { type Output: ?Sized; fn get(self, slice: &T) -> Option<&Self::Output>; fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>; unsafe fn get_unchecked(self, slice: &T) -> &Self::Output; unsafe fn get_unchecked_mut(self, slice: &mut T) -> &mut Self::Output; fn index(self, slice: &T) -> &Self::Output; fn index_mut(self, slice: &mut T) -> &mut Self::Output; }
A helper trait used for indexing operations.
Associated Types
Required Methods
fn get(self, slice: &T) -> Option<&Self::Output>
Returns a shared reference to the output at this location, if in bounds.
fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>
Returns a mutable reference to the output at this location, if in bounds.
unsafe fn get_unchecked(self, slice: &T) -> &Self::Output
Returns a shared reference to the output at this location, without performing any bounds checking.
unsafe fn get_unchecked_mut(self, slice: &mut T) -> &mut Self::Output
Returns a mutable reference to the output at this location, without performing any bounds checking.
fn index(self, slice: &T) -> &Self::Output
Returns a shared reference to the output at this location, panicking if out of bounds.
fn index_mut(self, slice: &mut T) -> &mut Self::Output
Returns a mutable reference to the output at this location, panicking if out of bounds.
Implementors
impl<T> SliceIndex<[T]> for usize type Output = T;
impl<T> SliceIndex<[T]> for Range<usize> type Output = [T];
impl<T> SliceIndex<[T]> for RangeTo<usize> type Output = [T];
impl<T> SliceIndex<[T]> for RangeFrom<usize> type Output = [T];
impl<T> SliceIndex<[T]> for RangeFull type Output = [T];
impl<T> SliceIndex<[T]> for RangeInclusive<usize> type Output = [T];
impl<T> SliceIndex<[T]> for RangeToInclusive<usize> type Output = [T];
impl SliceIndex<str> for RangeFull type Output = str;
impl SliceIndex<str> for Range<usize> type Output = str;
impl SliceIndex<str> for RangeTo<usize> type Output = str;
impl SliceIndex<str> for RangeFrom<usize> type Output = str;
impl SliceIndex<str> for RangeInclusive<usize> type Output = str;
impl SliceIndex<str> for RangeToInclusive<usize> type Output = str;