1use crate::{RangeError, RangeOp, VecOp};
2use heapless::Vec;
3
4impl<T: RangeOp + Send + 'static, const N: usize> VecOp<T> for Vec<T, N> {
5 fn push(&mut self, item: T) -> Result<(), RangeError<T>> {
6 self.push(item).map_err(|_| RangeError::Capacity)
7 }
8
9 fn as_slice(&self) -> &[T] {
10 self.as_slice()
11 }
12
13 fn len(&self) -> usize {
14 self.as_slice().len()
15 }
16
17 fn remove(&mut self, index: usize) -> T {
18 self.remove(index)
19 }
20
21 fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>> {
22 self.insert(index, item).map_err(|_| RangeError::Capacity)
23 }
24}