[](https://crates.io/crates/cpp_map)
[](https://docs.rs/cpp_map)
[](https://github.com/eadf/cpp_map.rs/workflows/Rust/badge.svg)
[](https://github.com/eadf/cpp_map.rs/workflows/Clippy/badge.svg)
[](https://deps.rs/crate/cpp_map/0.1.1)
# cpp_map.rs
A simple C++ std::map emulator for Rust. Probably not useful for anyone.
I needed a data structure that could emulate a C++ std::map, and it's pointer based iterators.
More specifically it needs to emulate the insertion position hint functionality as the keys I intend to
use are not entirely transitive. i.e., searching for insertion position from the head or tail makes a big difference.
I also needed to be able to replace the key of an already inserted item w/o altering the order. - Don't ask.
Another gotcha is that a C++ `std::map::insert(key, value)` is a NOP if the key already exists, not even the new value will be used.
The current implementation uses a double linked Vec list, and it only supports sequential search.
## License
Licensed under either of
* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
* [MIT license](http://opensource.org/licenses/MIT)
at your option.