1#![allow(unexpected_cfgs)]
2#![doc = include_str!("../README.md")]
3#![warn(missing_docs, missing_debug_implementations, unreachable_pub)]
4#![cfg_attr(doc_auto_cfg, feature(doc_auto_cfg))]
5
6mod auxiliary;
7mod compression;
8mod error;
9mod header;
10mod log;
11mod reader;
12mod record;
13mod writer;
14
15use std::ffi::CString;
16
17pub use auxiliary::{AuxField, AuxFieldSetExt, EnumField, FieldType};
18pub use compression::{RecordCompression, SignalCompression};
19pub use error::Slow5Error;
20pub use header::{AuxNamesIter, Header, HeaderExt};
21pub use reader::{AuxEnumLabelIter, FileReader, ReadIdIter};
22pub use record::{
23 to_picoamps, to_raw_signal, PicoAmpsSignalIter, RawSignalIter, Record, RecordBuilder,
24 RecordExt, RecordIter,
25};
26pub use writer::{FileWriter, WriteOptions};
27pub use log::{LogLevel, slow5_set_log_level};
28
29pub(crate) fn to_cstring<T: Into<Vec<u8>>>(x: T) -> Result<CString, Slow5Error> {
30 CString::new(x).map_err(Slow5Error::InteriorNul)
31}
32
33#[cfg(doctest)]
34doc_comment::doctest!("../README.md", readme);