macro_rules! algstruct {
($name:ident, +, *) => { ... };
($name:ident, +) => { ... };
($name:ident, *) => { ... };
}macro_rules! algstruct {
($name:ident, +, *) => { ... };
($name:ident, +) => { ... };
($name:ident, *) => { ... };
}