Trait std::slice::SliceIndex
[−]
[src]
pub trait SliceIndex<T> { 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; }
🔬 This is a nightly-only experimental API. (
slice_get_slice
)A helper trait used for indexing operations.
Associated Types
type Output: ?Sized
🔬 This is a nightly-only experimental API. (
slice_get_slice
)The output type returned by methods.
Required Methods
fn get(self, slice: &[T]) -> Option<&Self::Output>
🔬 This is a nightly-only experimental API. (
slice_get_slice
)Returns a shared reference to the output at this location, if in bounds.
fn get_mut(self, slice: &mut [T]) -> Option<&mut Self::Output>
🔬 This is a nightly-only experimental API. (
slice_get_slice
)Returns a mutable reference to the output at this location, if in bounds.
unsafe fn get_unchecked(self, slice: &[T]) -> &Self::Output
🔬 This is a nightly-only experimental API. (
slice_get_slice
)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
🔬 This is a nightly-only experimental API. (
slice_get_slice
)Returns a mutable reference to the output at this location, without performing any bounds checking.
fn index(self, slice: &[T]) -> &Self::Output
🔬 This is a nightly-only experimental API. (
slice_get_slice
)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
🔬 This is a nightly-only experimental API. (
slice_get_slice
)Returns a mutable reference to the output at this location, panicking if out of bounds.
Implementors
impl<T> SliceIndex<T> for usize
impl<T> SliceIndex<T> for Range<usize>
impl<T> SliceIndex<T> for RangeTo<usize>
impl<T> SliceIndex<T> for RangeFrom<usize>
impl<T> SliceIndex<T> for RangeFull
impl<T> SliceIndex<T> for RangeInclusive<usize>
impl<T> SliceIndex<T> for RangeToInclusive<usize>