Trait intrusive_containers::linked_list::Linkable
[−]
[src]
pub unsafe trait Linkable: Default + Sized {
type Container;
fn get_links(&self) -> &Links<Self>;
fn get_links_mut(&mut self) -> &mut Links<Self>;
fn offset() -> usize;
fn get_next<'a>(&'a self) -> &'a Rawlink<Self> where Self: 'a, Self::Container: 'a { ... }
fn get_next_mut<'a>(&'a mut self) -> &'a mut Rawlink<Self> where Self: 'a, Self::Container: 'a { ... }
fn get_prev<'a>(&'a self) -> &'a Rawlink<Self> where Self: 'a, Self::Container: 'a { ... }
fn get_prev_mut<'a>(&'a mut self) -> &'a mut Rawlink<Self> where Self: 'a, Self::Container: 'a { ... }
unsafe fn container_of(&self) -> &Self::Container { ... }
unsafe fn container_of_mut(&mut self) -> &mut Self::Container { ... }
fn check_links(&self) { ... }
}Link trait allowing a struct to be inserted into a LinkedList
The trait is unsafe because any implementation must impl Drop to call check_links()