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.
For example: hashmap!
, or binary_heap!
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); ```
hashset!
``` // I didn't even know HashSets were that different from HashMaps! use macroland::hashset;
let my_hashset = hashset!( 1, 2, 3, 4, 5, );
// Similar to most others, you can create an "uninitialized" one. let mut myhashset = hashset!(usize); myhashset.insert(500); ```
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); ```
btreeset!
``` // Here comes the set variant of btree! use macroland::btreeset;
let my_btreeset = btreeset!( "Greetings!", "How are you?", "I'm good too.", );
// What's this? Uninit? let mut mybtreeset = btreeset!(&str); mybtreeset.insert("Weee!"); ```
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()); ```