intrusive_collections::intrusive_adaptor! [] [src]

macro_rules! intrusive_adaptor {
    ($name:ident = $container:path { $field:ident: $link:ty }) => { ... };
    (pub $name:ident = $container:path { $field:ident: $link:ty }) => { ... };
    (_impl $name:ident = $container:path { $field:ident: $link:ty }) => { ... };
    ($name:ident = $container:path { $field:ident: $link:ty, }) => { ... };
    (pub $name:ident = $container:path { $field:ident: $link:ty, }) => { ... };
}

Macro to generate an empty type implementing the Adaptor trait for the given container object and field.

Examples

#[macro_use]
extern crate intrusive_collections;
use intrusive_collections::{linked_list, rbtree};

pub struct Test {
    link: linked_list::Link,
    link2: rbtree::Link,
}
intrusive_adaptor!(MyAdaptor = Test { link: linked_list::Link });
intrusive_adaptor!(pub MyAdaptor2 = Test { link2: rbtree::Link });