[][src]Macro rc_dlist_deque::DlistDefineStaticSelector

macro_rules! DlistDefineStaticSelector {
    ( $S:ident, $N:ty [ $($x:tt)* ]) => { ... };
}

DlistDefineStaticSelector!( SELTYPE, NODE [ MEMBS ]);

For setting up nodes which can each be a member of multiple lists, witb the link within each node identified at compile time.

Arranges that NODE can be part of a List by virtue of it containing a Link. Defines SELTYPE as an empty struct implementing Selector (and Copy,Default,...).

MEMBS is zero or more field selectors (each preceded by the .), array indices, etc., to find a Link inside NODE. MEMBS must be surrounded by literal [ and ] for macro parsing reasons.

This macro constructs the expression (somenode MEMBS) where somenode is a reference to a NODE, and expects that expression to name a Link<NODE,SELTYPE> within somenode.

You will need to implement SelectorFmt for SELTYPE to be able to debug format Pointer<NODE,SELTYPE>