urcu/stack/
reference.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::shared::reference;
use crate::stack::raw::RawNode;

/// An owned RCU reference to a element removed from an [`RcuQueue`].
///
/// [`RcuQueue`]: crate::queue::container::RcuQueue
pub type RefOwned<T> = reference::BoxRefOwned<RawNode<T>>;

/// An RCU reference to a element removed from an [`RcuQueue`].
///
/// #### Requirements
///
/// `T` must be [`Send`] because [`Drop::drop`] might execute cleanup in another thread.
///
/// [`RcuQueue`]: crate::queue::container::RcuQueue
pub type Ref<T, C> = reference::BoxRef<RawNode<T>, C>;