Trait SliceIndex

unsafe trait SliceIndex<T: ?Sized>: private_slice_index::Sealed

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: TraitBound { trait_: Path { path: "Sized", id: Id(12), args: None }, generic_params: [], modifier: Maybe }

The output type returned by methods.

Required Methods

fn get(self: Self, slice: &T) -> Option<&<Self as >::Output>

Returns a shared reference to the output at this location, if in bounds.

fn get_mut(self: Self, slice: &mut T) -> Option<&mut <Self as >::Output>

Returns a mutable reference to the output at this location, if in bounds.

unsafe fn get_unchecked(self: Self, slice: *const T) -> *const <Self as >::Output

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

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: Self, slice: *mut T) -> *mut <Self as >::Output

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

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: Self, slice: &T) -> &<Self as >::Output

Returns a shared reference to the output at this location, panicking if out of bounds.

fn index_mut(self: Self, slice: &mut T) -> &mut <Self as >::Output

Returns a mutable reference to the output at this location, panicking if out of bounds.

Implementors