Skip to main content

mzdata_bindata/
lib.rs

1//! The `DataArray` implementation for data buffer manipulation used for, amongst other things,
2//! mapping numeric data to and from optionally compressed little endian base-64 byte arrays with
3//! as few data copies as possible, algebraically.
4//!
5//! Also covers the `ArrayType` enum that covers the standardized array flavors telling us which
6//! dimension an array describes, `BinaryArrayMap` collections of (`ArrayType`, `DataArray`), and
7//! traits for converting to and from `BinaryArrayMap` based upon the set of available `ArrayType`.
8//! This includes a generalization for `BinaryArrayMap3D` when ion mobility is available.
9
10mod encodings;
11mod array;
12mod conversion;
13mod map;
14mod traits;
15
16pub mod utils;
17
18
19pub use encodings::{
20    ArrayRetrievalError, ArrayType, BinaryCompressionType, BinaryDataArrayType, Bytes, as_bytes,
21    delta_decoding, delta_encoding, linear_prediction_decoding, linear_prediction_encoding,
22    to_bytes, vec_as_bytes,
23};
24
25pub use array::{DataArray, DataArraySlice};
26pub use map::{BinaryArrayMap, BinaryArrayMap3D};
27pub use traits::{ByteArrayView, ByteArrayViewMut};
28
29pub use conversion::{
30    ArraysAvailable, BuildArrayMap3DFrom, BuildArrayMapFrom, BuildFromArrayMap, BuildFromArrayMap3D,
31};