1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 16:44:06 +02:00

make write stream borrow the data to allow splitting/reserving

This commit is contained in:
Robin Appelman 2021-07-14 23:35:13 +02:00
commit 9bced05a9d
6 changed files with 480 additions and 126 deletions

View file

@ -14,19 +14,19 @@ fn roundtrip<
val: T,
) {
{
let mut stream = BitWriteStream::new(LittleEndian);
let mut data = Vec::new();
let mut stream = BitWriteStream::new(&mut data, LittleEndian);
stream.write(&val).unwrap();
let size = stream.bit_len();
let data = stream.finish();
let mut read = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
assert_eq!(val, read.read().unwrap());
assert_eq!(size, read.pos());
}
{
let mut stream = BitWriteStream::new(BigEndian);
let mut data = Vec::new();
let mut stream = BitWriteStream::new(&mut data, BigEndian);
stream.write(&val).unwrap();
let size = stream.bit_len();
let data = stream.finish();
let mut read = BitReadStream::new(BitReadBuffer::new_owned(data, BigEndian));
assert_eq!(val, read.read().unwrap());
assert_eq!(size, read.pos());