macro_rules! transducer {
(@check $e:expr) => { ... };
(@inner ($($t:tt)*)) => { ... };
(@inner => $f:expr, $g:expr, $h:expr $(,)?) => { ... };
(@inner = $e:expr) => { ... };
(@inner <= $e:expr) => { ... };
(@inner >= $e:expr) => { ... };
(@inner < $e:expr) => { ... };
(@inner > $e:expr) => { ... };
(@inner !<= $e:expr) => { ... };
(@inner !>= $e:expr) => { ... };
(@inner !< $e:expr) => { ... };
(@inner !> $e:expr) => { ... };
(@inner $e:ident =) => { ... };
(@inner $e:ident <=) => { ... };
(@inner $e:ident >=) => { ... };
(@inner $e:ident <) => { ... };
(@inner $e:ident >) => { ... };
(@inner $e:ident !<=) => { ... };
(@inner $e:ident !>=) => { ... };
(@inner $e:ident !<) => { ... };
(@inner $e:ident !>) => { ... };
(@inner =) => { ... };
(@inner <=) => { ... };
(@inner >=) => { ... };
(@inner <) => { ... };
(@inner >) => { ... };
(@inner !<=) => { ... };
(@inner !>=) => { ... };
(@inner !<) => { ... };
(@inner !>) => { ... };
(@inner @id) => { ... };
(@inner @it $e:expr) => { ... };
(@inner @map $f:expr) => { ... };
(@inner @fmap $f:expr) => { ... };
(@inner @seq $e:expr) => { ... };
(@inner @rseq $e:expr) => { ... };
(@inner @<$t:ty>) => { ... };
(@inner @) => { ... };
(@inner $($t:tt)*) => { ... };
(@inter [$([$($a:tt)*])*]) => { ... };
(@inter [] [$($b:tt)*]) => { ... };
(@inter [$($a:tt)*] [$($b:tt)*]) => { ... };
(@inter [$($a:tt)*] [$($b:tt)*] & $($t:tt)*) => { ... };
(@inter [$($a:tt)*] [$($b:tt)*] $op:tt $($t:tt)*) => { ... };
(@prod [$([$($a:tt)*])*]) => { ... };
(@prod [] [$($b:tt)*]) => { ... };
(@prod [$($a:tt)*] [$($b:tt)*]) => { ... };
(@prod [$($a:tt)*] [$($b:tt)*] * $($t:tt)*) => { ... };
(@prod [$($a:tt)*] [$($b:tt)*] $op:tt $($t:tt)*) => { ... };
(@chain [$([$($a:tt)*])*]) => { ... };
(@chain [] [$($b:tt)*]) => { ... };
(@chain [$($a:tt)*] [$($b:tt)*]) => { ... };
(@chain [$($a:tt)*] [$($b:tt)*] . $($t:tt)*) => { ... };
(@chain [$($a:tt)*] [$($b:tt)*] $op:tt $($t:tt)*) => { ... };
(@id $($t:tt)*) => { ... };
(@it $($t:tt)*) => { ... };
(@map $($t:tt)*) => { ... };
(@fmap $($t:tt)*) => { ... };
(@seq $($t:tt)*) => { ... };
(@rseq $($t:tt)*) => { ... };
(@$tag:ident $($t:tt)*) => { ... };
($($t:tt)*) => { ... };
}Expand description
build transducer
transducer!(A)<= seq,seq >=:LexicographicalTransducer::less_than_or_equal()withSequenceTransducer>= seq,seq <=:LexicographicalTransducer::greater_than_or_equal()withSequenceTransducer< seq,seq >:LexicographicalTransducer::less_than()withSequenceTransducer> seq,seq <:LexicographicalTransducer::greater_than()withSequenceTransducer!<= seq,seq !>=:RevLexicographicalTransducer::less_than_or_equal()withSequenceTransducer!>= seq,seq !<=:RevLexicographicalTransducer::greater_than_or_equal()withSequenceTransducer!< seq,seq !>:RevLexicographicalTransducer::less_than()withSequenceTransducer!> seq,seq !<:RevLexicographicalTransducer::greater_than()withSequenceTransducer<=:LexicographicalTransducer::less_than_or_equal()>=:LexicographicalTransducer::greater_than_or_equal()<:LexicographicalTransducer::less_than()>:LexicographicalTransducer::greater_than()!<=:RevLexicographicalTransducer::less_than_or_equal()!>=:RevLexicographicalTransducer::greater_than_or_equal()!<:RevLexicographicalTransducer::less_than()!>:RevLexicographicalTransducer::greater_than()=> f g h:FunctionalTransducer::new(f, g, h)@id:IdentityTransducer::new()@it e:IteratorTransducer::new(e)@map f:MapTransducer::new(f)@fmap f:FilterMapTransducer::new(f)@seq e:SequenceTransducer::new(e)@rseq e:RevSequenceTransducer::new(e)@:AlwaysAcceptingTransducer::new()A . B:ChainTransducer((A, B))A * B:ProductTransducer((A, B))A & B:IntersectionTransducer((A, B))