#cpp #emulation #map

cpp_map

A simple C++ std::map emulator

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

Download history 11/week @ 2025-10-09 33/week @ 2025-10-16 36/week @ 2025-10-23 92/week @ 2025-10-30 56/week @ 2025-11-06 18/week @ 2025-11-13 48/week @ 2025-11-20 131/week @ 2025-11-27 35/week @ 2025-12-04 31/week @ 2025-12-11 38/week @ 2025-12-18 1/week @ 2025-12-25 22/week @ 2026-01-01 20/week @ 2026-01-15 81/week @ 2026-01-22

123 downloads per month
Used in 5 crates (2 directly)

MIT/Apache

210KB
4.5K SLoC

Latest version Documentation workflow dependency status license

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