Add copy_within to IndexSlice

This commit is contained in:
Jason Newcomb
2025-03-02 02:23:14 -05:00
parent 40dacd50b7
commit 52694034ba
+12 -1
View File
@@ -1,6 +1,6 @@
use std::fmt;
use std::marker::PhantomData;
use std::ops::{Index, IndexMut};
use std::ops::{Index, IndexMut, RangeBounds};
use std::slice::GetDisjointMutError::*;
use std::slice::{self, SliceIndex};
@@ -104,6 +104,17 @@ pub fn swap(&mut self, a: I, b: I) {
self.raw.swap(a.index(), b.index())
}
#[inline]
pub fn copy_within(
&mut self,
src: impl IntoSliceIdx<I, [T], Output: RangeBounds<usize>>,
dest: I,
) where
T: Copy,
{
self.raw.copy_within(src.into_slice_idx(), dest.index());
}
#[inline]
pub fn get<R: IntoSliceIdx<I, [T]>>(
&self,