Macro easy_args::arg_spec[][src]

macro_rules! arg_spec {
    ($($arg_name:ident : $arg_type:tt),*$(,)?) => { ... };
    ($builder:expr, $arg_name:ident, bool) => { ... };
    ($builder:expr, $arg_name:ident, i64) => { ... };
    ($builder:expr, $arg_name:ident, u64) => { ... };
    ($builder:expr, $arg_name:ident, f64) => { ... };
    ($builder:expr, $arg_name:ident, String) => { ... };
    ($builder:expr, $arg_name:ident, [bool; $array_size:literal]) => { ... };
    ($builder:expr, $arg_name:ident, [i64; $array_size:literal]) => { ... };
    ($builder:expr, $arg_name:ident, [u64; $array_size:literal]) => { ... };
    ($builder:expr, $arg_name:ident, [f64; $array_size:literal]) => { ... };
    ($builder:expr, $arg_name:ident, [String; $array_size:literal]) => { ... };
    ($builder:expr, $arg_name:ident, $arg_type:tt) => { ... };
}
Expand description

Macro that lets uers write ArgSpecs in a nicer way.

Example

use easy_args::{arg_spec, ArgType};

let spec = arg_spec!(vsync: bool, size: [u64; 2]);
assert_eq!(spec.has_arg("vsync", ArgType::Boolean), true);
assert_eq!(spec.has_arg("size", ArgType::UIntegerArray(2)), true);