macro_rules! scan_value {
(@repeat $scanner:expr, [$($t:tt)*] $len:expr) => { ... };
(@repeat $scanner:expr, [$($t:tt)*]) => { ... };
(@iter $scanner:expr, [$($t:tt)*] $len:expr) => { ... };
(@array $scanner:expr, [$($t:tt)*] $len:expr) => { ... };
(@tuple $scanner:expr, [$([$($args:tt)*])*]) => { ... };
(@sparen $scanner:expr, [] @$e:expr; $($t:tt)*) => { ... };
(@sparen $scanner:expr, [] ($($tt:tt)*); $($t:tt)*) => { ... };
(@sparen $scanner:expr, [] [$($tt:tt)*]; $($t:tt)*) => { ... };
(@sparen $scanner:expr, [] $ty:ty = $e:expr; $($t:tt)*) => { ... };
(@sparen $scanner:expr, [] $ty:ty; $($t:tt)*) => { ... };
(@sparen $scanner:expr, [] $($args:tt)*) => { ... };
(@sparen $scanner:expr, [$($args:tt)+] const $len:expr) => { ... };
(@sparen $scanner:expr, [$($args:tt)+] iter $len:expr) => { ... };
(@sparen $scanner:expr, [$($args:tt)+] $len:expr) => { ... };
(@$tag:ident $scanner:expr, [[$($args:tt)*]]) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] @$e:expr $(, $($t:tt)*)?) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] ($($tuple:tt)*) $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [$($tt:tt)*] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] &str $(, $($t:tt)*)?) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] $ty:ty = $e:expr $(, $($t:tt)*)?) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] $ty:ty $(, $($t:tt)*)?) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] , $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*]) => { ... };
(src = $src:expr, $($t:tt)*) => { ... };
(iter = $iter:expr, $($t:tt)*) => { ... };
($scanner:expr, $($t:tt)*) => { ... };
}Expand description
scan a value with Scanner
scan_value!(scanner, ELEMENT)
ELEMENT :=
$ty: Scan&str: borrowed token; the source stays borrowed until its last use@$expr: MarkedScan$ty = $expr: MarkedScan[ELEMENT; $expr]: vector[ELEMENT; const $expr]: array[ELEMENT]: iterator[ELEMENT; iter $expr]: iterator of the specified length($(ELEMENT)*,): tuple