1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Copyright 2026 COOLJAPAN OU (Team KitaSan)
// SPDX-License-Identifier: Apache-2.0
//! Pure-Rust in-memory HDF5 mock for simulation I/O.
//!
//! This module simulates the HDF5 file-format API entirely in memory using
//! Rust data structures. No C library (libhdf5) is required. The API
//! surface mirrors the logical HDF5 model:
//!
//! * [`Hdf5File`] — the root container (analogous to an open HDF5 file).
//! * [`Hdf5Group`] — a named group that can hold sub-groups, datasets and
//! attributes.
//! * [`Hdf5Dataset`] — a multi-dimensional typed array.
//! * `Hdf5Attribute` — scalar, string or array metadata.
//!
//! The implementation additionally covers:
//! - Chunked storage simulation
//! - Gzip-level compression placeholder
//! - Hyperslab (slice) selection
//! - Named datatypes
//! - Soft and hard links
//! - External dataset references
//! - Dimension scales (NetCDF-like convention)
//! - Multi-file virtual dataset simulation
//! - File lock/unlock simulation
//! - Collective I/O metadata
//! - Compound (struct-like) datatypes
//! - Variable-length strings
//! - Trajectory storage (atoms x time x 3)
//! - Checkpoint / restart round-trip
//! - Large-file offset simulation (64-bit)
//! - Parallel HDF5 metadata (mock)
// --- Sub-modules ---
// --- Re-exports: preserve the original flat public API ---
pub use *;
pub use *;
pub use Hdf5Dataset;
pub use compute_strides;
pub use *;
pub use *;
pub use *;
pub use Hdf5Group;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;