# Macroland

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!

Examples


hashmap!

Example

``` // 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!

Example

``` // 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!

Example

``` // Time to make creating an Arc> easier for everyone who has been looking for this! use macroland::arctex;

let my_arctex = arctex!(vec!["Pizza", "Ice Cream", "Celery"])

// All functionality of an Arc> is maintained. println!("{}", my_arctex.lock().unwrap()); ```

cell!

Example

``` // 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()); ```