Struct crossbeam::sync::SegQueue [−][src]
pub struct SegQueue<T> { /* fields omitted */ }
A Michael-Scott queue that allocates "segments" (arrays of nodes) for efficiency.
Usable with any number of producers and consumers.
Methods
impl<T> SegQueue<T>
[src]
impl<T> SegQueue<T>
pub fn new() -> SegQueue<T>
[src]
pub fn new() -> SegQueue<T>
Create a new, empty queue.
pub fn push(&self, t: T)
[src]
pub fn push(&self, t: T)
Add t
to the back of the queue.
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
Judge if the queue is empty.
Returns true
if the queue is empty.
pub fn try_pop(&self) -> Option<T>
[src]
pub fn try_pop(&self) -> Option<T>
Attempt to dequeue from the front.
Returns None
if the queue is observed to be empty.
Trait Implementations
impl<T: Debug> Debug for SegQueue<T>
[src]
impl<T: Debug> Debug for SegQueue<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T> Drop for SegQueue<T>
[src]
impl<T> Drop for SegQueue<T>