pub mod constants; pub mod reader; pub mod view; pub mod writer; pub use reader::PackedReader; pub use writer::PackedWriter; use std::io; use crate::BinarySource; use crate::BytesBinarySource; use crate::Domain; use crate::DomainDecode; use crate::Shell; use crate::ShellHandle; use crate::ValueReader; pub fn from_bytes<'de, D: Domain<'de>, Dec: DomainDecode<'de, D>>( bs: &'de [u8], decode_embedded: &mut Dec, ) -> io::Result> { Ok(Shell::read_domain(&mut BytesBinarySource::new(bs).packed(), false, decode_embedded)?) } pub fn annotated_from_bytes<'de, D: Domain<'de>, Dec: DomainDecode<'de, D>>( bs: &'de [u8], decode_embedded: &mut Dec, ) -> io::Result> { Ok(Shell::read_domain(&mut BytesBinarySource::new(bs).packed(), true, decode_embedded)?) }