oxedyne/fe2o3/fe2o3_data/src/lib.rs
1.1 KiB, 7 runs
created by r1870400018:270, which is this file's identity for as long as the history lasts, whatever it is later renamed to
download · who wrote it · its history
| 1 | //! Specialised data structures for the Hematite ecosystem. |
| 2 | //! |
| 3 | //! This crate provides several core data structures: |
| 4 | //! |
| 5 | //! - Interval maps ([`interval`]) - Disjoint half-open integer ranges mapped to values |
| 6 | //! - Ring buffers ([`ring`]) - Fixed-size circular buffers with position tracking |
| 7 | //! - Stacks ([`stack`]) - Immutable stack implementation using Arc for thread-safety |
| 8 | //! - Trees ([`tree`]) - Generic tree structure with navigation and display capabilities |
| 9 | //! - Time utilities ([`time`]) - Timestamp wrappers and timing measurements |
| 10 | //! |
| 11 | //! The implementations emphasise: |
| 12 | //! - Memory safety through careful ownership management |
| 13 | //! - Thread-safety where appropriate (e.g. Arc-based stack) |
| 14 | //! - Clear error handling using the Hematite error framework |
| 15 | //! - Integration with Hematite serialisation via Jdat |
| 16 | //! - No use of unsafe code or unwrap |
| 17 | //! |
| 18 | //! Most types implement common traits like Clone, Debug, and Jdat serialisation where |
| 19 | //! appropriate. |
| 20 | //! |
| 21 | #![forbid(unsafe_code)] |
| 22 | pub mod digraph; |
| 23 | pub mod hll; |
| 24 | pub mod iblt; |
| 25 | pub mod interval; |
| 26 | pub mod ring; |
| 27 | pub mod stack; |
| 28 | pub mod time; |
| 29 | pub mod tree; |