1个不稳定版本

0.1.0 2021年12月11日

#1854数据结构

MIT/Apache

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-2.0许可证定义,你故意提交的任何贡献,包括在本作品中,都应按上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖