intrusive_containers::impl_list_elt! [] [src]

macro_rules! impl_list_elt {
    ($elt:ident = $container:ty : $link:ident) => (
        impl $elt {
            #[inline]
            fn new(val: $container) -> $elt {
                $elt($crate::linked_list::NodeImpl {
                    link: Default::default(),
                    val: val
                })
            }
        }

        unsafe impl $crate::linked_list::Node<$container, $link> for $elt {
            #[inline]
            fn get_val(&self) -> &$container {
                &self.0.val
            }

            #[inline]
            fn get_val_mut(&mut self) -> &mut $container {
                &mut self.0.val
            }

            #[inline]
            fn get_links(&self) -> &$link {
                &self.0.link
            }

            #[inline]
            fn get_links_mut(&mut self) -> &mut $link {
                &mut self.0.link
            }
        }
    );
}