16 releases
0.3.10 | Oct 31, 2022 |
---|---|
0.3.9 | Jun 4, 2022 |
0.3.7 | May 24, 2022 |
0.2.0 | May 21, 2022 |
0.1.3 | May 21, 2022 |
#6 in #leb128
30 downloads per month
26KB
485 lines
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). |