SliceByValueSubsliceRange

Trait SliceByValueSubsliceRange 

Source
pub trait SliceByValueSubsliceRange<R: ComposeRange>: for<'a> SliceByValueSubsliceGat<'a> {
    // Required method
    unsafe fn get_subslice_unchecked(&self, range: R) -> Subslice<'_, Self>;

    // Provided methods
    fn index_subslice(&self, range: R) -> Subslice<'_, Self> { ... }
    fn get_subslice(&self, range: R) -> Option<Subslice<'_, Self>> { ... }
}
Expand description

A trait implementing subslicing for a specific range parameter.

The user should never see this trait. SliceByValueSubslice combines all instances of this trait with R equal to the various kind of standard ranges (core::ops::Range, core::ops::RangeFull, etc.).

The only method that must be implemented is get_subslice_unchecked.

Required Methods§

Source

unsafe fn get_subslice_unchecked(&self, range: R) -> Subslice<'_, Self>

See slice::get_unchecked.

For a safe alternative see get_subslice or index_subslice.

§Safety

The range must be within bounds.

Provided Methods§

Source

fn index_subslice(&self, range: R) -> Subslice<'_, Self>

Source

fn get_subslice(&self, range: R) -> Option<Subslice<'_, Self>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<R: ComposeRange, S: SliceByValueSubsliceRange<R> + ?Sized> SliceByValueSubsliceRange<R> for &S

Source§

fn get_subslice(&self, range: R) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, range: R) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, range: R) -> Subslice<'_, Self>

Source§

impl<R: ComposeRange, S: SliceByValueSubsliceRange<R> + ?Sized> SliceByValueSubsliceRange<R> for &mut S

Source§

fn get_subslice(&self, range: R) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, range: R) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, range: R) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<Range<usize>> + ?Sized> SliceByValueSubsliceRange<Range<usize>> for Box<S>

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<Range<usize>> + ?Sized> SliceByValueSubsliceRange<Range<usize>> for Rc<S>

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<Range<usize>> + ?Sized> SliceByValueSubsliceRange<Range<usize>> for Arc<S>

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFrom<usize>> + ?Sized> SliceByValueSubsliceRange<RangeFrom<usize>> for Box<S>

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFrom<usize>> + ?Sized> SliceByValueSubsliceRange<RangeFrom<usize>> for Rc<S>

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFrom<usize>> + ?Sized> SliceByValueSubsliceRange<RangeFrom<usize>> for Arc<S>

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFull> + ?Sized> SliceByValueSubsliceRange<RangeFull> for Box<S>

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFull> + ?Sized> SliceByValueSubsliceRange<RangeFull> for Rc<S>

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeFull> + ?Sized> SliceByValueSubsliceRange<RangeFull> for Arc<S>

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeInclusive<usize>> for Box<S>

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeInclusive<usize>> for Rc<S>

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeInclusive<usize>> for Arc<S>

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeTo<usize>> + ?Sized> SliceByValueSubsliceRange<RangeTo<usize>> for Box<S>

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeTo<usize>> + ?Sized> SliceByValueSubsliceRange<RangeTo<usize>> for Rc<S>

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeTo<usize>> + ?Sized> SliceByValueSubsliceRange<RangeTo<usize>> for Arc<S>

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeToInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeToInclusive<usize>> for Box<S>

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeToInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeToInclusive<usize>> for Rc<S>

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<S: SliceByValueSubsliceRange<RangeToInclusive<usize>> + ?Sized> SliceByValueSubsliceRange<RangeToInclusive<usize>> for Arc<S>

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<Range<usize>> for [T]

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<Range<usize>> for Vec<T>

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeFrom<usize>> for [T]

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeFrom<usize>> for Vec<T>

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeFull> for [T]

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeFull> for Vec<T>

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeInclusive<usize>> for [T]

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeInclusive<usize>> for Vec<T>

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeTo<usize>> for [T]

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeTo<usize>> for Vec<T>

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeToInclusive<usize>> for [T]

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone> SliceByValueSubsliceRange<RangeToInclusive<usize>> for Vec<T>

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<Range<usize>> for [T; N]

Source§

fn get_subslice(&self, index: Range<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: Range<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: Range<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<RangeFrom<usize>> for [T; N]

Source§

fn get_subslice(&self, index: RangeFrom<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFrom<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeFrom<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<RangeFull> for [T; N]

Source§

fn get_subslice(&self, index: RangeFull) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked(&self, index: RangeFull) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<RangeInclusive<usize>> for [T; N]

Source§

fn get_subslice( &self, index: RangeInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeInclusive<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<RangeTo<usize>> for [T; N]

Source§

fn get_subslice(&self, index: RangeTo<usize>) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeTo<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeTo<usize>, ) -> Subslice<'_, Self>

Source§

impl<T: Clone, const N: usize> SliceByValueSubsliceRange<RangeToInclusive<usize>> for [T; N]

Source§

fn get_subslice( &self, index: RangeToInclusive<usize>, ) -> Option<Subslice<'_, Self>>

Source§

fn index_subslice(&self, index: RangeToInclusive<usize>) -> Subslice<'_, Self>

Source§

unsafe fn get_subslice_unchecked( &self, index: RangeToInclusive<usize>, ) -> Subslice<'_, Self>

Implementors§