1个不稳定版本
0.1.0 | 2021年12月11日 |
---|
#1854 在 数据结构
16KB
287 行
priority-set
适用于无std使用的固定大小优先级集。
示例
#[derive(PartialEq)]
enum Command {
QueryServerA,
QueryServerB,
}
fn main() {
// Create a priority set with 10 slots
let mut p: PrioritySet<Command, 10> = PrioritySet::new();
// Insert two items
p.insert(Priority(10), Command::QueryServerA);
p.insert(Priority(20), Command::QueryServerB);
p.insert(Priority(30), Command::QueryServerA);
// We inserted a duplicate command, so its priority was updated, but no new item was added
assert_eq!(p.len(), 2);
// Pops the highest priority item, which is QueryServerA with Priority(30)
assert_eq!(p.pop(), Some(Command::QueryServerA));
assert_eq!(p.pop(), Some(Command::QueryServerB));
assert_eq!(p.pop(), None);
}
许可证
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义,你故意提交的任何贡献,包括在本作品中,都应按上述方式双重许可,不附加任何额外条款或条件。