Macro scan_value

Source
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