macro_rules! scan_value {
(@repeat $scanner:expr, [$($t:tt)*] $($len:expr)?) => { ... };
(@array $scanner:expr, [$($t:tt)*] $len:expr) => { ... };
(@tuple $scanner:expr, [$([$($args:tt)*])*]) => { ... };
(@$tag:ident $scanner:expr, [[$($args:tt)*]]) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] @$e:expr) => { ... };
(@$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)*] [@$e:expr; const $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [@$e:expr; $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [[$($tt:tt)*]; const $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [[$($tt:tt)*]; $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [($($tt:tt)*); const $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [($($tt:tt)*); $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [$ty:ty; const $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [$ty:ty; $len:expr] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] [$($tt:tt)*] $($t:tt)*) => { ... };
(@$tag:ident $scanner:expr, [$($args:tt)*] $ty:ty) => { ... };
(@$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)*) => { ... };
($scanner:expr, $($t:tt)*) => { ... };
}
Expand description
scan a value with Scanner
scan_value!(scanner, ELEMENT)
ELEMENT :=
$ty
: IterScan@$expr
: MarkedIterScan[ELEMENT; $expr]
: vector[ELEMENT; const $expr]
: array[ELEMENT]
: iterator($(ELEMENT)*,)
: tuple