DeepMesa Collections
A Rust crate providing fundamental data structures with zero external dependencies.
Overview
DeepMesa Collections provides:
- Zero Dependencies: Pure Rust implementations
- Memory Safety: Safe implementations with comprehensive testing
- Rich APIs: Iterator support and flexible configurations
Data Structures
Maps
- LinkedHashMap - Map with predictable iteration order. Supports insertion order and access order.
Lists
- LinkedList - Doubly-linked list with handle-based access for stable references.
Bit Manipulation
- BitVector - Growable bit array with bitwise operations and multiple bit order support (LSB0/MSB0).
Features
- Iterator Support: Full iterator ecosystem
- Handle-Based Access: Stable references that survive collection mutations
- Error Handling: Comprehensive error types for allocation failures
Usage
Add to your Cargo.toml:
[]
= "^0.*.*"
Quick Start Examples
use ;
use Order;
// LinkedHashMap with access order
let mut map = new;
map.put;
map.put;
// LinkedList with handle-based access
let mut list = with_capacity;
let handle = list.push_back;
list.insert_after;
// BitVector with macro support
let mut bits = bitvector!;
bits.push;
let = bits.read_u8;
Performance Characteristics
- HashMap Operations: get, put, remove - O(1) average case
- List Operations: push, pop, insert, remove - O(1) with handles
- Bit Operations: Individual bit access - O(1)
Building and Testing
The project uses just for build automation:
# Build all components
# Run comprehensive test suite
# Generate documentation
# Clean build artifacts
Run specific test categories:
# Run all tests with backtrace
RUST_BACKTRACE=1
# Run specific module tests
# Run documentation tests
Contributing
Contributions in any form (suggestions, bug reports, pull requests, and feedback) are welcome. If you've found a bug, you can submit an issue or email me at rsingh@arrsingh.com.
License
This project is dual-licensed under the MIT LICENSE or the Apache-2 LICENSE:
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Contact: rsingh@arrsingh.com Website: https://www.arrsingh.com/deepmesa-collections