1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use std::mem::*;
use std::slice::*;
pub fn round(size: usize, round: usize) -> usize {
let round = round - 1;
(size + round) & !round
}
pub trait Write {
fn write<T: Sized>(&mut self, value: &T);
}
impl Write for Vec<u8> {
fn write<T: Sized>(&mut self, value: &T) {
unsafe {
self.extend_from_slice(from_raw_parts(value as *const _ as _, size_of::<T>()));
}
}
}