#push #try #vec-deque #vec

try-push

尝试执行可能昂贵的操作的特质

3个稳定版本

1.0.2 2021年3月5日

#9 in #vec-deque

MIT 许可证

6KB
90 代码行

此crate对于防止在向集合添加元素时执行昂贵的操作非常有用。它导出单个特质 TryPush,并为标准库中的 Vec<T>VecDeque<T> 提供了实现。

示例

use try_push::*;

let mut vec = Vec::with_capacity(4);
vec.push(1);
vec.push(2);
vec.push(3);
vec.push(4); // won't reallocate
// vec.push(5); // will reallocate

assert_eq!(vec.try_push(5), Element::NotAdded(5));

无运行时依赖