use crate::buf::Padder;
use crate::traits::ZeroCopy;
mod sealed {
#[cfg(feature = "alloc")]
use crate::pointer::Size;
pub trait Sealed {}
#[cfg(feature = "alloc")]
impl<O: Size> Sealed for crate::buf::AlignedBuf<O> {}
impl<B: ?Sized> Sealed for &mut B where B: Sealed {}
impl Sealed for crate::buf::RawBufMut {}
}
pub trait BufMut: self::sealed::Sealed {
unsafe fn store_bytes<T>(&mut self, bytes: &[T])
where
T: ZeroCopy;
unsafe fn store_bits<T>(&mut self, value: *const T)
where
T: ZeroCopy;
unsafe fn store<T>(&mut self, value: &T)
where
T: ZeroCopy;
unsafe fn store_struct<T>(&mut self, value: *const T) -> Padder<'_, T>
where
T: ZeroCopy;
unsafe fn store_array<T>(&mut self, values: &[T])
where
T: ZeroCopy;
}