[][src]Macro quack::quack

macro_rules! quack {
    (get_set $prop:ident ( $($code:tt)* ) for $Self:ty) => { ... };
    (set $prop:ident ( self . $($code:tt)* ) for $Self:ty) => { ... };
    (set $prop:ident ( self [ $($code:tt)* ] ) for $Self:ty) => { ... };
    (get $prop:ident ( self . $($code:tt)* ) for $Self:ty) => { ... };
    (get $prop:ident ( self [ $($code:tt)* ] ) for $Self:ty) => { ... };
    (
        for $Self:ty {
            $($cmd:tt $get_set_prop:ident ( $($get_set:tt)* )),* $(,)?
        }
    ) => { ... };
}

Helper macro for simple get/set properties.

This macro supports 4 different syntaxes:

  1. Get/set property e.g. quack!{get_set X(self.x) for Foo}
  2. Get property e.g. quack!{get X(self.x) for Foo}
  3. Set property e.g. quack!{set X(self.x) for Foo}
  4. Multiple properties e.g. quack!{for Foo {get X(self.x), get Y(self.y)}}