Macroland is a simple crate with macros to create various Rust types using syntactic sugar. Some of these types offered I do not know about myself, but I have done my best to create a macro for them here. If there are any issues, feel free to report them to my github.
To name a few: hashmap!
, btreeset!
, or arclock!
hashmap!
``` // I've tried my best to put things where they belong. use macroland::hashmap;
let my_hashmap = hashmap!( "Key 1" => "Value 1", "Key 2" => "Value 2", "Key 3" => "Value 3", );
// Alternatively, you can create an "uninitialized" version. let mut myhashmap = hashmap!(&str, usize); myhashmap.insert("Hello!", 100); ```
btreemap!
``` // I've used this before, but I am not entirely sure about the difference with it and HashMaps! use macroland::btreemap;
let my_btreemap = btreemap!( "Greetings!" => true, "How are you?" => false, "I'm good too." => false, );
// Like the rest. let mut mybtreemap = btreemap!(&str, bool); mybtreemap.insert("Hewwo!", false); ```
arctex!
```
// Time to make creating an Arc
let my_arctex = arctex!(vec!["Pizza", "Ice Cream", "Celery"])
// All functionality of an Arc
cell!
``` // Welcome to the wonderful world of celling! use macroland::cell;
let my_cell = cell!(10);
// Everything works! my_cell.set(20)
println!("{}", my_cell.get()); ```