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}