Trait rs_lockfree::hazard_epoch::HazardNodeT [−][src]
pub trait HazardNodeT: Drop { fn get_base_hazard_node(&self) -> *mut BaseHazardNode; }
Trait HazardNodeT
is used to achieve virtual function
.
Required Methods
fn get_base_hazard_node(&self) -> *mut BaseHazardNode
It's necessary to put BaseHazardNode
, which can be accessed by method get_base_hazard_node
,
in custom struct.
Examples
use rs_lockfree::hazard_epoch::{BaseHazardNode, HazardNodeT, HazardEpoch}; use std::cell::RefCell; struct Node<'a, T> { base: BaseHazardNode, cnt: &'a RefCell<i32>, v: T, } impl<'a, T> Drop for Node<'a, T> { fn drop(&mut self) { *self.cnt.borrow_mut() += 10; } } impl<'a, T> HazardNodeT for Node<'a, T> { fn get_base_hazard_node(&self) -> *mut BaseHazardNode { &self.base as *const _ as *mut _ } }
Implementors
impl HazardNodeT for BaseHazardNode