A tiny macro library for creating std::collections
.
mapro
provides a set of convenient macros for creating various standard library collections, such as HashMap
, BTreeMap
, HashSet
, BTreeSet
, VecDeque
, and BinaryHeap
.
The name mapro
is a portmanteau of "macro" and "map", but the library handles more than just map types.
To use mapro
, add it to your Cargo.toml
dependencies:
[dependencies]
mapro = "0.1.1"
or run:
cargo add mapro
Then import the macros you want to use in your Rust files:
use mapro::{map, bt_map, set, bt_set, vec_d, heap};
Creating a HashMap
:
let m = map!{
"one" => 1,
"two" => 2
};
assert_eq!(m["one"], 1);
assert_eq!(m["two"], 2);
Creating a HashSet
:
let s = set!{1, 2, 3};
assert!(s.contains(&1));
assert!(s.contains(&2));
assert!(s.contains(&3));
-
Simple API: Using
mapro
is as straightforward as using any Rust macro. -
No Extra Dependencies:
mapro
only depends on the standard library. -
Broad Collection Support: Supports various standard library collections out of the box.
Interested in contributing? Submit a pull request!
This project is licensed under the MIT License.
- Patrick Unick: dev_storm@winux.com