This crate provides the wrapped_list!
macro which allows you to create a list of elements that are wrapped by an object, function, or another macro at compile time.
rust
wrapped_list!(Box::new, value_1, value_2, ...)
Evaluates to:
rust
[Box::new(value_1), Box::new(value_2), ...]
With this you can:
```rust use wrappedlist::wrappedlist;
struct Wrapper(i32);
let wrappeditems = wrappedlist!(Wrapper; 1, 2, 3, 4);
asserteq!(wrappeditems, [Wrapper(1), Wrapper(2), Wrapper(3), Wrapper(4)]); ```
```rust use wrappedlist::wrappedlist;
let boxeditems = wrappedlist!(Box::new; 1, 2, 3);
asserteq!(boxeditems, [Box::new(1), Box::new(2), Box::new(3)]) ```
```rust use wrappedlist::wrappedlist;
let func = |x| x * 2;
let doubled = wrapped_list!(func; 1, 2, 3);
assert_eq!(doubled, [2, 4, 6]); ```
```rust use wrappedlist::wrappedlist;
macrorules! addone { ($e:expr) => { $e + 1 }; }
let onemore = wrappedlist!(add_one!; 1, 2, 3);
asserteq!(onemore, [2, 3, 4]); ```