Trait SliceIndex

pub unsafe trait SliceIndex<T: ?Sized>

A helper trait used for indexing operations.

Implementations of this trait have to promise that if the argument to get_unchecked(_mut) is a safe reference, then so is the result.

Associated Types

type Output: ?Sized;

The output type returned by methods.

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: *const T) -> *const Self::Output

Returns a pointer to the output at this location, without performing any bounds checking.

Safety

Calling this method with an out-of-bounds index or a dangling slice pointer is undefined behavior even if the resulting pointer is not used.

unsafe fn get_unchecked_mut(self, slice: *mut T) -> *mut Self::Output

Returns a mutable pointer to the output at this location, without performing any bounds checking.

Safety

Calling this method with an out-of-bounds index or a dangling slice pointer is undefined behavior even if the resulting pointer is not used.

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