pub trait ObjectWriter<T>: Sized {
// Required methods
fn write_object(&mut self, object: T) -> Result<()>;
fn finish_objects(self) -> Result<usize>;
// Provided method
fn write_all_objects<I>(&mut self, objects: I) -> Result<usize>
where I: Iterator<Item = T> { ... }
}Expand description
Trait for writing objects to some kind of sink.
Required Methods§
Sourcefn write_object(&mut self, object: T) -> Result<()>
fn write_object(&mut self, object: T) -> Result<()>
Write one object.
Sourcefn finish_objects(self) -> Result<usize>
fn finish_objects(self) -> Result<usize>
Finish and close the target.
Provided Methods§
Sourcefn write_all_objects<I>(&mut self, objects: I) -> Result<usize>where
I: Iterator<Item = T>,
fn write_all_objects<I>(&mut self, objects: I) -> Result<usize>where
I: Iterator<Item = T>,
Write an iterator full of objects.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T, W> ObjectWriter<T> for &mut Wwhere
W: ObjectWriter<T>,
References can be used as object writers; however, [ObjectWriter::finish] must
be called on the owned writer, not a reference. Closing the reference is a
no-op.
impl<T, W> ObjectWriter<T> for &mut Wwhere
W: ObjectWriter<T>,
References can be used as object writers; however, [ObjectWriter::finish] must be called on the owned writer, not a reference. Closing the reference is a no-op.