Struct coco::deque::Worker
[−]
[src]
pub struct Worker<T> { /* fields omitted */ }
Worker side of a work-stealing deque.
There is only one worker per deque.
Methods
impl<T> Worker<T>
[src]
fn len(&self) -> usize
Returns the number of elements in the deque.
If used concurrently with other operations, the returned number is just an estimate.
Examples
use coco::deque; let (w, _) = deque::new(); for i in 0..30 { w.push(i); } assert_eq!(w.len(), 30);
fn push(&self, value: T)
Pushes an element onto the bottom of the deque.
Examples
use coco::deque; let (w, _) = deque::new(); w.push(1); w.push(2);
fn pop(&self) -> Option<T>
Pops an element from the bottom of the deque.
Examples
use coco::deque; let (w, _) = deque::new(); w.push(1); w.push(2); assert_eq!(w.pop(), Some(2)); assert_eq!(w.pop(), Some(1)); assert_eq!(w.pop(), None);
fn steal(&self) -> Option<T>
Steals an element from the top of the deque.
Examples
use coco::deque; let (w, _) = deque::new(); w.push(1); w.push(2); assert_eq!(w.steal(), Some(1)); assert_eq!(w.steal(), Some(2)); assert_eq!(w.steal(), None);