Create reserve_padded_u32, nice for readability

This commit is contained in:
Brian Carroll 2021-10-28 22:43:39 +01:00
parent 7841ef959a
commit 2020e89db7
2 changed files with 14 additions and 6 deletions

View file

@ -79,6 +79,7 @@ pub trait SerialBuffer {
encode_sleb128!(encode_i32, i32);
encode_sleb128!(encode_i64, i64);
fn reserve_padded_u32(&mut self) -> usize;
fn encode_padded_u32(&mut self, value: u32) -> usize;
fn overwrite_padded_u32(&mut self, index: usize, value: u32);
@ -120,6 +121,11 @@ impl SerialBuffer for std::vec::Vec<u8> {
fn size(&self) -> usize {
self.len()
}
fn reserve_padded_u32(&mut self) -> usize {
let index = self.len();
self.resize(index + 5, 0xff);
index
}
fn encode_padded_u32(&mut self, value: u32) -> usize {
let index = self.len();
let new_len = index + 5;
@ -142,6 +148,11 @@ impl<'a> SerialBuffer for Vec<'a, u8> {
fn size(&self) -> usize {
self.len()
}
fn reserve_padded_u32(&mut self) -> usize {
let index = self.len();
self.resize(index + 5, 0xff);
index
}
fn encode_padded_u32(&mut self, value: u32) -> usize {
let index = self.len();
let new_len = index + 5;