mod boolean;
mod error;
mod integer;
mod string;
mod tuple;
mod vector;
#[cfg(test)]
mod testbench;
pub use error::HSerdeError;
pub trait HSerde {
fn to_bytes(&self) -> Vec<u8>;
fn from_bytes_internal(bytes: &[u8], index: usize) -> Result<(Self, usize), HSerdeError> where Self: Sized;
fn from_bytes(bytes: &[u8], index: usize) -> Result<Self, HSerdeError> where Self: Sized {
match Self::from_bytes_internal(bytes, index) {
Ok((v, _)) => Ok(v),
Err(e) => Err(e)
}
}
}