copy_stack_vec/vec/array/
slice.rs1use crate::vec::CopyStackVec;
6
7impl<T: Copy, const N: usize> CopyStackVec<T, N> {
8 #[inline]
10 pub fn as_slice(&self) -> &[T] {
11 &self.buf[..self.len]
12 }
13
14 #[inline]
16 pub fn as_mut_slice(&mut self) -> &mut [T] {
17 let len = self.len;
18 &mut self.buf[..len]
19 }
20}
21
22impl<T: Copy + Default, const N: usize> CopyStackVec<T, N> {
23 #[inline]
25 pub fn from_slice_truncated(src: &[T]) -> Self {
26 let mut v = Self::default();
27 let _ = v.extend_from_slice_truncated(src);
28 v
29 }
30
31 #[inline]
35 pub fn from_array_truncated<const M: usize>(src: &[T; M]) -> Self {
36 Self::from_slice_truncated(&src[..])
37 }
38}