Crate variyak[−][src]
This crate provides a macro call_variadic
which can be used to construct boilerplate code
to call variadic functions using data from a container such as a Vec.
Example
ⓘ
let data = vec![1, 2]; call_variadic!( my_func(arg, ...) // func data, // container n, // index data[n], // expand 2, // limit ); // Generates: // let container_len = data.len(); // match container_len { // 0 => my_func(arg), // 1 => my_func(arg, { // let n = 0; // data[n] // }), // 2 => my_func( // arg, // { // let n = 0; // data[n] // }, // { // let n = 1; // data[n] // }, // ), // _ => panic!("expected container size of: 0..=2 got data.len(): {}", container_len) // )), // }
Modules
export |
Macros
call_variadic | Call a variadic function given a container |