Trait rkyv::Write [−][src]
A #![no_std] compliant writer that knows where it is.
A type that is io::Write can be wrapped in an
ArchiveWriter to equip it with Write. It's important that the memory
for archived objects is properly aligned before attempting to read objects
out of it, use the Aligned wrapper if it's appropriate.
Associated Types
Loading content...Required methods
fn pos(&self) -> usize[src]
Returns the current position of the writer.
fn write(&mut self, bytes: &[u8]) -> Result<(), Self::Error>[src]
Attempts to write the given bytes to the writer.
Provided methods
fn pad(&mut self, mut padding: usize) -> Result<(), Self::Error>[src]
Advances the given number of bytes as padding.
fn align(&mut self, align: usize) -> Result<usize, Self::Error>[src]
Aligns the position of the writer to the given alignment.
fn align_for<T>(&mut self) -> Result<usize, Self::Error>[src]
Aligns the position of the writer to be suitable to write the given type.
unsafe fn resolve_aligned<T: ?Sized, R: Resolve<T>>(
&mut self,
value: &T,
resolver: R
) -> Result<usize, Self::Error>[src]
&mut self,
value: &T,
resolver: R
) -> Result<usize, Self::Error>
Resolves the given resolver and writes its archived type, returning the position of the written archived type.
Safety
This is only safe to call when the writer is already aligned for the archived version of the given type.
fn archive<T: Archive>(&mut self, value: &T) -> Result<usize, Self::Error>[src]
Archives the given object and returns the position it was archived at.
fn archive_ref<T: ArchiveRef + ?Sized>(
&mut self,
value: &T
) -> Result<usize, Self::Error>[src]
&mut self,
value: &T
) -> Result<usize, Self::Error>
Archives a reference to the given object and returns the position it was archived at.