contiguous_mem streamlines storage and management of data stored in contiguous blocks of memory. ## Implementations Primary interface of the crate is the [`ContiguousMemoryStorage`] structure which is re-exported under following type aliases with specified implementation details flag: - [`ContiguousMemory`] - [`SyncContiguousMemory`] - [`UnsafeContiguousMemory`] See individual items for usage examples, as well as project [`examples`](https://github.com/Caellian/contiguous_mem/tree/trunk/examples) directory. ## Features - `no_std` - enables `no_std` dependencies for atomics, mutexes and rwlocks - `debug` - enables `derive(Debug)` on structures unrelated to error handling - [`ptr_metadata`](https://doc.rust-lang.org/beta/unstable-book/library-features/ptr-metadata.html) <_nightly_> - allows casting references into `dyn Trait` - [`error_in_core`](https://dev-doc.rust-lang.org/stable/unstable-book/library-features/error-in-core.html) <_nightly_> - enables support for `core::error::Error` in `no_std` environment ## Contributions Contributions are welcome, feel free to [create an issue](https://github.com/Caellian/contiguous_mem/issues) or a [pull request](https://github.com/Caellian/contiguous_mem/pulls). All contributions to the project are licensed under the Zlib/MIT/Apache 2.0 license unless you explicitly state otherwise. ## License This project is licensed under [Zlib](./LICENSE_ZLIB), [MIT](./LICENSE_MIT), or [Apache-2.0](./LICENSE_APACHE) license, choose whichever suits you most.