table! {
@position
pub Store { format (u16) = { 1 }, region_offset (u32), count (u16),
offsets (Vec<u32>) |this, tape, _| { tape.take_given(this.count as usize)
},
records (Vec<Record>) |this, tape, position| {
jump_take!(tape, position, this.count, this.offsets)
},
}
}
table! {
pub Record { item_count (u16), short_delta_count (u16), region_count (u16),
region_indices (Vec<u16>) |this, tape| { tape.take_given(this.region_count as usize)
},
deltas (Vec<u8>) |this, tape| { let per_item_count = this.short_delta_count + this.region_count;
tape.take_given(this.item_count as usize * per_item_count as usize)
},
}
}