Struct Writer

Source
pub struct Writer<T> { /* private fields */ }
Expand description

A cursor like utility that writes structured data into an arbitrary target.

The target must implement the PutBytes trait which supports writing binary data into it.

Implementations§

Source§

impl<T: PutBytes> Writer<T>

Source

pub fn new(target: T) -> Writer<T>

Creates a new Writer instance.

The target, where the writer puts the binary data, is passed to the function. Every type, that implements the PutBytes trait can be the target of this writer.

Source

pub fn write<TB: ToBytes>(&mut self, value: &TB) -> Result<usize, Error>

Serializes a data structure that implements the ToBytes trait.

Returns the number of bytes actually serialized.

Source

pub fn into_target(self) -> T

Consumes this Writer, returning the underlying target.

Trait Implementations§

Source§

impl<T> AsRef<T> for Writer<T>

Source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Debug> Debug for Writer<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for Writer<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Writer<T>
where T: RefUnwindSafe,

§

impl<T> Send for Writer<T>
where T: Send,

§

impl<T> Sync for Writer<T>
where T: Sync,

§

impl<T> Unpin for Writer<T>
where T: Unpin,

§

impl<T> UnwindSafe for Writer<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.