pub trait WriteContext {
fn write_bytes(&mut self, data: &[u8]) -> Result<(), WriteError>;
fn write_zeros(&mut self, count: usize) -> Result<(), WriteError>;
fn bytes_written(&self) -> usize;
fn write_placeholder<T, HostType>(
&mut self,
placeholder: Placeholder<T, HostType>,
val: HostType
) -> Result<T::Output, WriteError>
where
T: WriteBinary<HostType>;
fn write_array<'a, T>(
&mut self,
array: &ReadArray<'a, T>
) -> Result<(), WriteError>
where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
{ ... }
fn write_vec<'a, T>(
&mut self,
vec: Vec<<T as ReadUnchecked<'a>>::HostType>
) -> Result<(), WriteError>
where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
{ ... }
fn placeholder<'a, T, HostType>(
&mut self
) -> Result<Placeholder<T, HostType>, WriteError>
where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
{ ... }
fn reserve<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Placeholder<T, &'a HostType>, WriteError>
where
T: WriteBinary<&'a HostType>,
{ ... }
fn placeholder_array<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Vec<Placeholder<T, HostType>>, WriteError>
where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
{ ... }
}
Expand description
Trait for types that can have binary data written to them.
Required Methods
fn write_bytes(&mut self, data: &[u8]) -> Result<(), WriteError>
fn write_bytes(&mut self, data: &[u8]) -> Result<(), WriteError>
Write a slice of bytes to a WriteContext
.
fn write_zeros(&mut self, count: usize) -> Result<(), WriteError>
fn write_zeros(&mut self, count: usize) -> Result<(), WriteError>
Write the specified number of zero bytes to the WriteContext
.
fn bytes_written(&self) -> usize
fn bytes_written(&self) -> usize
The total number of bytes written so far.
fn write_placeholder<T, HostType>(
&mut self,
placeholder: Placeholder<T, HostType>,
val: HostType
) -> Result<T::Output, WriteError> where
T: WriteBinary<HostType>,
fn write_placeholder<T, HostType>(
&mut self,
placeholder: Placeholder<T, HostType>,
val: HostType
) -> Result<T::Output, WriteError> where
T: WriteBinary<HostType>,
Consumes the placeholder and writes the supplied value into it
Provided Methods
fn write_array<'a, T>(
&mut self,
array: &ReadArray<'a, T>
) -> Result<(), WriteError> where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
fn write_array<'a, T>(
&mut self,
array: &ReadArray<'a, T>
) -> Result<(), WriteError> where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
Write a ReadArray
instance to a WriteContext
.
fn write_vec<'a, T>(
&mut self,
vec: Vec<<T as ReadUnchecked<'a>>::HostType>
) -> Result<(), WriteError> where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
fn write_vec<'a, T>(
&mut self,
vec: Vec<<T as ReadUnchecked<'a>>::HostType>
) -> Result<(), WriteError> where
Self: Sized,
T: ReadUnchecked<'a> + WriteBinary<<T as ReadUnchecked<'a>>::HostType>,
Write a Vec
into a WriteContext
.
fn placeholder<'a, T, HostType>(
&mut self
) -> Result<Placeholder<T, HostType>, WriteError> where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
fn placeholder<'a, T, HostType>(
&mut self
) -> Result<Placeholder<T, HostType>, WriteError> where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
Return a placeholder to T
in the context for filling in later.
fn reserve<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Placeholder<T, &'a HostType>, WriteError> where
T: WriteBinary<&'a HostType>,
fn reserve<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Placeholder<T, &'a HostType>, WriteError> where
T: WriteBinary<&'a HostType>,
Reserve space for count
bytes in the context for filling in later.
fn placeholder_array<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Vec<Placeholder<T, HostType>>, WriteError> where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
fn placeholder_array<'a, T, HostType>(
&mut self,
count: usize
) -> Result<Vec<Placeholder<T, HostType>>, WriteError> where
T: WriteBinary<HostType> + ReadUnchecked<'a>,
Return a Vec
of count
placeholders of type T
.