pub trait TiSliceIndex<K, V>: Sealed<K> {
type Output: ?Sized;
// Required methods
fn get(self, slice: &TiSlice<K, V>) -> Option<&Self::Output>;
fn get_mut(self, slice: &mut TiSlice<K, V>) -> Option<&mut Self::Output>;
unsafe fn get_unchecked(self, slice: &TiSlice<K, V>) -> &Self::Output;
unsafe fn get_unchecked_mut(
self,
slice: &mut TiSlice<K, V>,
) -> &mut Self::Output;
fn index(self, slice: &TiSlice<K, V>) -> &Self::Output;
fn index_mut(self, slice: &mut TiSlice<K, V>) -> &mut Self::Output;
}Expand description
A helper trait used for indexing operations.
This trait is implemented for K, Range<K>, RangeTo<K>,
RangeFrom<K>, RangeInclusive<K> and RangeToInclusive<K>.
The RangeFull<K> trait is not currently supported.
Trait implementations are only forwards to standard Rust slice
operations.
Required Associated Types§
Required Methods§
Sourcefn get(self, slice: &TiSlice<K, V>) -> Option<&Self::Output>
fn get(self, slice: &TiSlice<K, V>) -> Option<&Self::Output>
Returns a shared reference to the output at this location, if in bounds.
Sourcefn get_mut(self, slice: &mut TiSlice<K, V>) -> Option<&mut Self::Output>
fn get_mut(self, slice: &mut TiSlice<K, V>) -> Option<&mut Self::Output>
Returns a mutable reference to the output at this location, if in bounds.
Sourceunsafe fn get_unchecked(self, slice: &TiSlice<K, V>) -> &Self::Output
unsafe fn get_unchecked(self, slice: &TiSlice<K, V>) -> &Self::Output
Returns a shared reference to the output at this location, without performing any bounds checking.
§Safety
Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used.
Sourceunsafe fn get_unchecked_mut(
self,
slice: &mut TiSlice<K, V>,
) -> &mut Self::Output
unsafe fn get_unchecked_mut( self, slice: &mut TiSlice<K, V>, ) -> &mut Self::Output
Returns a mutable reference to the output at this location, without performing any bounds checking.
§Safety
Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used.