bucket_queue/index/
mod.rs1pub 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}