Macro object_chain::chain[][src]

macro_rules! chain {
    [$($types:ty),+] => { ... };
}

Creates an object chain from the argument types.

Using this macro is completely optional but it reduces the boilerplate required to describe the type of an object chain.

Example:

Instead of writing this…

use object_chain::{Chain, Link};
type ABC = Link<C, Link<B, Chain<A>>>;

… the chain! macro allows you to write this:

use object_chain::{Chain, Link, chain};
type ABC = chain![A, B, C];

Note also how the order of types follows the type of objects in the chain instead of being reversed.