pub struct Buffer { /* private fields */ }
Expand description
A buffer for reusing allocations between calls to Buffer::encode
and/or Buffer::decode
.
use bitcode::{Buffer, Encode, Decode};
let original = "Hello world!";
let mut buffer = Buffer::new();
buffer.encode(&original);
let encoded: &[u8] = buffer.encode(&original); // Won't allocate
let mut buffer = Buffer::new();
buffer.decode::<&str>(&encoded).unwrap();
let decoded: &str = buffer.decode(&encoded).unwrap(); // Won't allocate
assert_eq!(original, decoded);
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Buffer
impl RefUnwindSafe for Buffer
impl Send for Buffer
impl Sync for Buffer
impl Unpin for Buffer
impl UnwindSafe for Buffer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more