mod btree;
mod data_object;
mod fractal_heap;
mod gcol;
mod helpers;
mod ohdr_message;
mod parser;
mod super_block;
pub use data_object::{DataFormat, DataObject, DataSpace, DataType, GroupInfo, Record};
pub use fractal_heap::{Attribute, DirectoryEntry, FractalHeapData};
pub use gcol::GlobalHeap;
pub use parser::ParsedHdf;
pub use super_block::SuperBlock;
pub fn parse(input: &[u8]) -> Result<DataObject, winnow::error::ContextError> {
parser::parse(input).map_err(|e| match e {
winnow::error::ErrMode::Backtrack(e) | winnow::error::ErrMode::Cut(e) => e,
winnow::error::ErrMode::Incomplete(_) => winnow::error::ContextError::new(),
})
}
pub fn parse_with_children(input: &[u8]) -> Result<ParsedHdf<'_>, winnow::error::ContextError> {
parser::parse_with_children(input).map_err(|e| match e {
winnow::error::ErrMode::Backtrack(e) | winnow::error::ErrMode::Cut(e) => e,
winnow::error::ErrMode::Incomplete(_) => winnow::error::ContextError::new(),
})
}