bucket_queue/index/
mod.rs

1pub mod simple;
2
3use super::*;
4
5pub trait Index {
6    fn new() -> Self;
7
8    fn add<B: Bucket>(&mut self, priority: usize, buckets: &Vec<Option<B>>);
9    fn remove<B: Bucket>(&mut self, priority: usize, buckets: &Vec<Option<B>>);
10
11    fn added_n<B: Bucket>(&mut self, n: usize, priority: usize, buckets: &Vec<Option<B>>);
12    fn removed_n<B: Bucket>(&mut self, n: usize, priority: usize, buckets: &Vec<Option<B>>);
13
14    fn min(&self) -> Option<usize>;
15    fn max(&self) -> Option<usize>;
16
17    fn len(&self) -> usize;
18
19    fn is_empty(&self) -> bool;
20}