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_std
dependencies for atomics, mutexes and rwlocksdebug
- enablesderive(Debug)
on structures unrelated to error handlingptr_metadata
<nightly> - allows casting references intodyn Trait
error_in_core
<nightly> - enables support forcore::error::Error
inno_std
environment
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
AllocationTracker
andContiguousMemoryStorage
. - 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
ContiguousMemoryStorage
that uses default implementation. - Alias for
ContiguousMemoryStorage
that uses concurrent implementation. - Alias for
ContiguousMemoryStorage
that uses unsafe implementation.