Create types for DataSection

This commit is contained in:
Brian Carroll 2021-11-04 18:58:17 +00:00
parent 21988b5fd6
commit c57d99c1ac
4 changed files with 122 additions and 31 deletions

View file

@ -13,6 +13,12 @@ impl Serialize for str {
}
}
impl Serialize for u8 {
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
buffer.append_u8(*self);
}
}
impl Serialize for u32 {
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
buffer.encode_u32(*self);
@ -33,6 +39,13 @@ impl<S: Serialize> Serialize for [S] {
}
}
impl Serialize for Vec<'_, u8> {
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
buffer.encode_u32(self.len() as u32);
buffer.append_slice(self);
}
}
impl<S: Serialize> Serialize for Option<S> {
/// serialize Option as a vector of length 1 or 0
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {