1 unstable release
0.1.0 | Aug 29, 2024 |
---|
#1884 in Data structures
14KB
336 lines
empty-collections
Empty collections - guaranteed to have nothing!
You may be familiar with the concept of nonempty-collections. The
empty-collections
crate provides the sister-concept; collections which
contain nothing, and never will.
Why, you ask? That is a good question.
Examples
use empty_collections::*;
let v: EVec<usize> = EVec::new();
assert!(v.is_empty());
See the documentation for EVec
, EMap
, and ESet
for more examples of their
extensive APIs.
Iteration
The iterators in this crate are the fastest in the entire Rust ecosystem, able to traverse their entire stream in constant time. Simply amazing.
use empty_collections::*;
let v: EVec<i32> = EVec::new();
assert_eq!(0, v.into_iter().sum());
Features
serde
: Guarantee that collections you send/receive over the wire are empty.
lib.rs
:
Empty collections - guaranteed to have nothing!
You may be familiar with the concept of nonempty-collections. The
empty-collections
crate provides the sister-concept; collections which
contain nothing, and never will.
Why, you ask? That is a good question.
Examples
use empty_collections::*;
let v: EVec<usize> = EVec::new();
assert!(v.is_empty());
See the documentation for EVec
, EMap
, and ESet
for more examples
of their extensive APIs.
Iteration
The iterators in this crate are the fastest in the entire Rust ecosystem, able to traverse their entire stream in constant time. Simply amazing.
use empty_collections::*;
let v: EVec<i32> = EVec::new();
assert_eq!(0, v.into_iter().sum());
Features
serde
: Guarantee that collections you send/receive over the wire are empty.
Dependencies
~165KB