1use crate::{
2 alloc::vec::Vec,
3 ser::{Positional, Writer},
4 util::AlignedVec,
5};
6
7impl Positional for Vec<u8> {
8 #[inline]
9 fn pos(&self) -> usize {
10 self.len()
11 }
12}
13
14impl<E> Writer<E> for Vec<u8> {
15 fn write(&mut self, bytes: &[u8]) -> Result<(), E> {
16 self.extend_from_slice(bytes);
17 Ok(())
18 }
19}
20
21impl<const A: usize> Positional for AlignedVec<A> {
22 #[inline]
23 fn pos(&self) -> usize {
24 self.len()
25 }
26}
27
28impl<E, const A: usize> Writer<E> for AlignedVec<A> {
29 fn write(&mut self, bytes: &[u8]) -> Result<(), E> {
30 self.extend_from_slice(bytes);
31 Ok(())
32 }
33}