6 releases
Uses new Rust 2024
| 0.2.0 | Dec 3, 2025 |
|---|---|
| 0.1.1 | Jul 29, 2021 |
| 0.0.3 | Jul 11, 2021 |
#587 in Algorithms
123 downloads per month
Used in 5 crates
(2 directly)
210KB
4.5K
SLoC
cpp_map.rs
C++ std::map Emulator for Rust
A simple C++ std::map emulator for Rust.
This library provides a data structure that emulates C++'s std::map, particularly its pointer-based cursors/iterators.
Key Features
- Replicates C++ behavior where
insert(key, value)is a no-op if the key exists (the new value isn't used) - Maintains pointer stability like C++'s std::map
- Provides familiar C++-style iterator interface
Implementations
Skip List
- O(log n) search and insert
- O(1) sequential access
Linked List
- O(n) search and insert
- O(1) sequential access
Performance Note
For primarily position/hint-based operations, the linked list implementation will typically be faster.
Minimum Supported Rust Version (MSRV)
The minimum supported version of Rust for cpp_map is 1.87.0.
License
Licensed under either of
at your option.
Dependencies
~0.5–1MB
~21K SLoC