pub struct Slice<T> { /* private fields */ }Expand description
Implementations§
Source§impl<T> Slice<T>
impl<T> Slice<T>
Sourcepub fn get(&self, index: usize) -> Option<&T>
pub fn get(&self, index: usize) -> Option<&T>
Returns a reference to an element at index or None if out of bounds.
Sourcepub fn get_mut(&mut self, index: usize) -> Option<&mut T>
pub fn get_mut(&mut self, index: usize) -> Option<&mut T>
Returns a mutable reference to an element at index or None if out of bounds.
Sourcepub fn range(&self, range: impl RangeBounds<usize>) -> Range<'_, T>
pub fn range(&self, range: impl RangeBounds<usize>) -> Range<'_, T>
Sourcepub fn range_mut(&mut self, range: impl RangeBounds<usize>) -> RangeMut<'_, T>
pub fn range_mut(&mut self, range: impl RangeBounds<usize>) -> RangeMut<'_, T>
Sourcepub fn as_slices(&self) -> (&[T], &[T])
pub fn as_slices(&self) -> (&[T], &[T])
Returns a pair of slices. First slice is before gap. Second slice is after gap.
§Examples
use gap_buf::gap_buffer;
let mut buf = gap_buffer![1, 2, 3, 4, 5];
buf.set_gap(2);
let (s1, s2) = buf.as_slices();
assert_eq!(s1, [1, 2]);
assert_eq!(s2, [3, 4, 5]);Sourcepub const fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])
pub const fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])
Returns a pair of slices. First slice is before gap. Second slice is after gap.
§Examples
use gap_buf::gap_buffer;
let mut buf = gap_buffer![1, 2, 3, 4, 5];
buf.set_gap(2);
{
let (mut s1, mut s2) = buf.as_mut_slices();
s1[0] = 10;
s2[0] = 11;
}
assert_eq!(buf, [10, 2, 11, 4, 5]);Trait Implementations§
Source§impl<'gb, T> IntoIterator for &'gb Slice<T>
impl<'gb, T> IntoIterator for &'gb Slice<T>
Source§impl<'gb, T> IntoIterator for &'gb mut Slice<T>
impl<'gb, T> IntoIterator for &'gb mut Slice<T>
Source§impl<T: Ord> Ord for Slice<T>
impl<T: Ord> Ord for Slice<T>
Source§impl<T, S> PartialOrd<S> for Slice<T>
impl<T, S> PartialOrd<S> for Slice<T>
impl<T: Eq> Eq for Slice<T>
impl<T: Send> Send for Slice<T>
impl<T: Sync> Sync for Slice<T>
Auto Trait Implementations§
impl<T> Freeze for Slice<T>
impl<T> RefUnwindSafe for Slice<T>where
T: RefUnwindSafe,
impl<T> Unpin for Slice<T>
impl<T> UnsafeUnpin for Slice<T>
impl<T> UnwindSafe for Slice<T>where
T: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more