pub trait InfrastructureQueue<T>where
T: InfrastructureQueueOrder,{
// Required methods
fn queue(&self) -> &VecDeque<T>;
fn queue_mut(&mut self) -> &mut VecDeque<T>;
// Provided methods
fn process(&mut self, workforce: Workforce) -> Vec<T> { ... }
fn iter<'a>(&'a self) -> impl Iterator<Item = &'a T>
where T: 'a { ... }
fn len(&self) -> usize { ... }
fn is_empty(&self) -> bool { ... }
fn sum_pending_workforce(&self) -> Workforce { ... }
}Required Methods§
Provided Methods§
Sourcefn process(&mut self, workforce: Workforce) -> Vec<T>
fn process(&mut self, workforce: Workforce) -> Vec<T>
Consumes workforce until it runs out or the entire queue is completed.
fn iter<'a>(&'a self) -> impl Iterator<Item = &'a T>where
T: 'a,
fn len(&self) -> usize
fn is_empty(&self) -> bool
fn sum_pending_workforce(&self) -> Workforce
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.