osiris_data/lib.rs
1//! **osiris-data** is a crate to manage data in a virtual machine with an easy to read low-level interface.
2//!
3//! With this crate, you can manipulate 64 bits values ([data::atomic::Word]) into a memory structure ([memory::Memory]).
4//!
5//! ## Main structures
6//!
7//! * Data structures :
8//! * [data::atomic::Word] and
9//! * [data::atomic::HalfWord] to split/merge words,
10//! * [data::composite::WordStack] and [data::composite::WordQueue] to help data processing,
11//! * [data::composite::Array] a contiguous set of Words,
12//! * Identifiers :
13//! * [data::identification::Address] to reference a [data::atomic::Word] into a [memory::Memory],
14//! * [data::identification::Area] to reference a [data::composite::Array] into a [memory::Memory],
15//! * [memory::Memory] whose operations can return a [memory::MemoryResult]\<T> an alias of [Result]<T, [memory::MemoryError]>
16//! * Converters : [converters::Words] and [converters::Arrays].
17
18#[cfg(feature = "data")]
19pub mod data;
20
21#[cfg(feature = "memory")]
22pub mod memory;
23
24#[cfg(feature = "converters")]
25pub mod converters;
26
27#[cfg(test)]
28pub mod tests;