Struct rustc_data_structures::work_queue::WorkQueue[][src]

pub struct WorkQueue<T: Idx> { /* fields omitted */ }

A work queue is a handy data structure for tracking work left to do. (For example, basic blocks left to process.) It is basically a de-duplicating queue; so attempting to insert X if X is already enqueued has no effect. This implementation assumes that the elements are dense indices, so it can allocate the queue to size and also use a bit set to track occupancy.

Methods

impl<T: Idx> WorkQueue<T>
[src]

Create a new work queue with all the elements from (0..len).

Create a new work queue that starts empty, where elements range from (0..len).

Attempt to enqueue element in the work queue. Returns false if it was already present.

Attempt to enqueue element in the work queue. Returns false if it was already present.

True if nothing is enqueued.

Auto Trait Implementations

impl<T> Send for WorkQueue<T> where
    T: Send

impl<T> Sync for WorkQueue<T> where
    T: Sync