macro_rules! iter_print {
(@@fmt $writer:expr, $sep:expr, $is_head:expr, ($lit:literal $(, $e:expr)* $(,)?)) => { ... };
(@@item $writer:expr, $sep:expr, $is_head:expr, $e:expr) => { ... };
(@@line_feed $writer:expr $(,)?) => { ... };
(@@it $writer:expr, $sep:expr, $is_head:expr, $iter:expr) => { ... };
(@@it1 $writer:expr, $sep:expr, $is_head:expr, $iter:expr) => { ... };
(@@cw $writer:expr, $sep:expr, $is_head:expr, ($ch:literal $iter:expr)) => { ... };
(@@bw $writer:expr, $sep:expr, $is_head:expr, ($b:literal $iter:expr)) => { ... };
(@@it2d $writer:expr, $sep:expr, $is_head:expr, $iter:expr) => { ... };
(@@tup $writer:expr, $sep:expr, $is_head:expr, $tuple:expr) => { ... };
(@@ittup $writer:expr, $sep:expr, $is_head:expr, $iter:expr) => { ... };
(@@assert_tag item) => { ... };
(@@assert_tag it) => { ... };
(@@assert_tag it1) => { ... };
(@@assert_tag it2d) => { ... };
(@@assert_tag tup) => { ... };
(@@assert_tag ittup) => { ... };
(@@assert_tag $tag:ident) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @sep $e:expr, $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @ns $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @lf $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @sp $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @flush $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @fmt $arg:tt $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @cw $arg:tt $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @bw $arg:tt $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @$tag:ident $e:expr, $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @$tag:ident $e:expr; $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @$tag:ident $e:expr) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, @$tag:ident $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, , $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, ; $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, ! $(,)?) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, ! $($t:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr,) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, { $($t:tt)* } $($rest:tt)*) => { ... };
(@@inner $writer:expr, $sep:expr, $is_head:expr, $($t:tt)*) => { ... };
($writer:expr, $($t:tt)*) => { ... };
}
Expand description
Print expressions with a separator.
iter_print!(writer, args...)
@sep $expr
: set separator (default:' '
)@ns
: alias for@sep ""
@lf
: alias for@sep '\n'
@sp
: alias for@sep ' '
@fmt ($lit, $($expr),*)
: printformat!($lit, $($expr),*)
@flush
: flush writer (auto insert!
)@it $expr
: print iterator@it1 $expr
: print iterator as 1-indexed@cw ($char $expr)
: print iterator as(elem as u8 + $char as u8) as char
@bw ($byte $expr)
: print iterator as(elem as u8 + $byte) as char
@it2d $expr
: print 2d-iterator@tup $expr
: print tuple (need to importIterPrint
)@ittup $expr
: print iterative tuple (need to importIterPrint
)$expr
: print expr{ args... }
: scoped;
: print'\n'
!
: not print'\n'
at the end