Macro impl_compressed_segment_tree
Source macro_rules! impl_compressed_segment_tree {
(@tuple ($($l:tt)*) ($($r:tt)*) $T:ident) => { ... };
(@tuple ($($l:tt)*) ($($r:tt)*) $T:ident $($Rest:ident)+) => { ... };
(@cst $M:ident) => { ... };
(@cst $M:ident $T:ident $($Rest:ident)*) => { ... };
(@from_iter $M:ident $points:ident $T:ident) => { ... };
(@from_iter $M:ident $points:ident $T:ident $U:ident) => { ... };
(@from_iter $M:ident $points:ident $T:ident $U:ident $($Rest:ident)*) => { ... };
(@fold $e:expr, $rng:ident $T:ident) => { ... };
(@fold $e:expr, $rng:ident $T:ident $($Rest:ident)+) => { ... };
(@update $e:expr, $M:ident $key:ident $x:ident $T:ident) => { ... };
(@update $e:expr, $M:ident $key:ident $x:ident $T:ident $($Rest:ident)+) => { ... };
(@partition_value $e:expr) => { ... };
(@partition_value $e:expr, $inner_ranges:ident) => { ... };
(@partition_perfect_body $this:tt, $pos:expr, $acc:expr, $pred:ident $(, $inner_ranges:ident)?) => { ... };
(@rpartition_perfect_body $this:tt, $pos:expr, $acc:expr, $pred:ident $(, $inner_ranges:ident)?) => { ... };
(@partition_body $this:tt, $left:ident, $pred:ident $(, $inner_ranges:ident)?) => { ... };
(@rpartition_body $this:tt, $right:ident, $pred:ident $(, $inner_ranges:ident)?) => { ... };
(@partition_methods $T:ident, $Q:ident) => { ... };
(@partition_methods $T:ident $($RestT:ident)+, $Q:ident $($RestQ:ident)+) => { ... };
(@impl $C:ident $($T:ident)*, $($Q:ident)*) => { ... };
(@inner [$C:ident][$($T:ident)*][$($Q:ident)*][]) => { ... };
(@inner [$C:ident][$($T:ident)*][$($Q:ident)*][$D:ident $U:ident $R:ident $($Rest:ident)*]) => { ... };
($C:ident $T:ident $Q:ident $($Rest:ident)* $(;$($t:tt)*)?) => { ... };
}