Crate contiguous_mem
source ·Expand description
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:
See individual items for usage examples, as well as project
examples
directory.
Features
no_std- enablesno_stddependencies for atomics, mutexes and rwlocksdebug- enablesderive(Debug)on structures unrelated to error handlingptr_metadata<nightly> - allows casting references intodyn Traiterror_in_core<nightly> - enables support forcore::error::Errorinno_stdenvironment
Contributions
Contributions are welcome, feel free to create an issue or a pull request.
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, MIT, or Apache-2.0 license, choose whichever suits you most.
Re-exports
pub use refs::CERef;pub use refs::ContiguousEntryRef;pub use refs::SCERef;pub use refs::SyncContiguousEntryRef;
Modules
- Errors produced by the crate.
- Returned reference types and read/write guards.
Structs
- Represents a range of bytes in
AllocationTrackerandContiguousMemoryStorage. - A memory container for efficient allocation and storage of contiguous data.
- Thread-safe implementation utilizing mutexes and locks to prevent data races.
- Implementation that’s not thread-safe but performs faster as it avoids mutexes and locks.
- Implementation which provides direct (unsafe) access to stored entries.
Functions
- static_metadata
ptr_metadata
Type Aliases
- Alias for
ContiguousMemoryStoragethat uses default implementation. - Alias for
ContiguousMemoryStoragethat uses concurrent implementation. - Alias for
ContiguousMemoryStoragethat uses unsafe implementation.