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§
Structs§
- Byte
Range - Represents a range of bytes in
AllocationTracker
andContiguousMemoryStorage
. - Contiguous
Memory Storage - A memory container for efficient allocation and storage of contiguous data.
- Impl
Concurrent - Thread-safe implementation utilizing mutexes and locks to prevent data races.
- Impl
Default - Implementation that’s not thread-safe but performs faster as it avoids mutexes and locks.
- Impl
Unsafe - Implementation which provides direct (unsafe) access to stored entries.
Functions§
- static_
metadata ptr_metadata
- Returns
Pointee
metadata for provided pair of structS
and some unsized type (e.g. a trait)T
.
Type Aliases§
- Contiguous
Memory - Alias for
ContiguousMemoryStorage
that uses default implementation. - Sync
Contiguous Memory - Alias for
ContiguousMemoryStorage
that uses concurrent implementation. - Unsafe
Contiguous Memory - Alias for
ContiguousMemoryStorage
that uses unsafe implementation.