write-into

Crates.iowrite-into
lib.rswrite-into
version0.3.10
sourcesrc
created_at2022-05-21 22:08:36.479537
updated_at2022-10-31 19:07:38.900783
descriptionA trait to write things into io::Write.
homepage
repositoryhttps://github.com/abvalatouski/write-into
max_upload_size
id590897
size27,031
Aliaksei Valatouski (abvalatouski)

documentation

https://docs.rs/write-into

README

write-into

Defines a trait built on top of io::Write to write things into it.

use std::io;

trait WriteInto {
    type Output;
    fn write_into(self, sink: &mut impl io::Write) -> io::Result<Self::Output>;
}

The crate also provides wrappers, such as BigEndian and LittleEndian, to write values in particular formats.

Example

use write_into::{BigEndian, write_into};

let mut buffer = Vec::new();
write_into(&mut buffer, BigEndian(0xCAFEBABEu32)).unwrap();
assert_eq!(&buffer, &[0xCA, 0xFE, 0xBA, 0xBE]);

Wrappers

Wrapper Used to write values...
BigEndian ... in big endian byte order.
LittleEndian ... in little endian byte order.
Plain ... as they are represented in memory.
Sequence ... from IntoIterator.
Sized ... prepended with size of their representation.
SizedSequence ... from IntoIterator with known size.
Sleb128 ... in LEB-128 format (signed).
Uleb128 ... in LEB-128 format (unsigned).
Commit count: 59

cargo fmt