offset_vec/
slice.rs

1use core::ops::{IndexMut, Range, RangeFrom, RangeTo};
2
3pub trait Slice
4    : IndexMut<Range<usize>, Output = Self>
5    + IndexMut<RangeTo<usize>, Output = Self>
6    + IndexMut<RangeFrom<usize>, Output = Self>
7{
8    fn len(&self) -> usize;
9
10    #[inline]
11    fn is_empty(&self) -> bool {
12        self.len() == 0
13    }
14}
15
16impl<T> Slice for [T] {
17    #[inline]
18    fn len(&self) -> usize {
19        self.len()
20    }
21}
22impl Slice for str {
23    #[inline]
24    fn len(&self) -> usize {
25        self.len()
26    }
27}