1 2 3 4 5 6 7 8 9 10 11 12 13
use super::{
error::SerdeErr,
reader_writer::{BitReader, BitWrite},
};
/// A trait for objects that can be serialized to a bitstream.
pub trait Serde: Sized + Clone + PartialEq {
/// Serialize Self to a BitWriter
fn ser(&self, writer: &mut dyn BitWrite);
/// Parse Self from a BitReader
fn de(reader: &mut BitReader) -> Result<Self, SerdeErr>;
}