macro_rules! table { ($(#[$attribute:meta])* pub $name:ident { $($field:ident ($($kind:tt)+) $(= $value:block)* $(|$($argument:tt),+| $body:block)*,)* }) => { ... }; (@position $(#[$attribute:meta])* pub $name:ident { $($field:ident ($($kind:tt)+) $(= $value:block)* $(|$($argument:tt),+| $body:block)*,)* }) => { ... }; (@define $(#[$attribute:meta])* pub $name:ident { $($field:ident ($kind:ty),)* }) => { ... }; (@implement pub $name:ident { $($field:ident ($($kind:tt)+) [$($value:block)*] $(|$($argument:tt),+| $body:block)*,)* }) => { ... }; (@implement @position pub $name:ident { $($field:ident ($($kind:tt)+) [$($value:block)*] $(|$($argument:tt),+| $body:block)*,)* }) => { ... }; (@read $name:ident, $this:ident, $tape:ident [$($position:tt)*] [$kind:ty] []) => { ... }; (@read $name:ident, $this:ident, $tape:ident [$($position:tt)*] [$kind:ty] [$value:block]) => { ... }; (@read $name:ident, $this:ident, $tape:ident [] [$kind:ty] [] |$this_:tt, $tape_:tt| $body:block) => { ... }; (@read $name:ident, $this:ident, $tape:ident [$position:ident] [$kind:ty] [] |$this_:tt, $tape_:tt, $position_:tt| $body:block) => { ... }; }
Expand description
Implement a table.