1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! This crate repackages standard data structures with additional capabilities,
//! like fast ordered maps and sets.
//!
//! The ordered collection types use a [`List`] internally for ordering.
//! [`List`] itself uses a [`Tree`] to map a cardinal ordering to a logical ordering.
//!
//! The map and set types support a `Key` trait to allow using arbitrary type `T: Key<K>`
//! to look up an entry with key type `K`.
//!
//! Features:
//!  - `all`: enables all features
//!  - `serialize`: enables support for [`serde`](https://docs.rs/serde/).
//!  - `stream`: enables support for [`destream`](https://docs.rs/destream/).
//!  - `hash`: enables support for [`async-hash`](https://docs.rs/async-hash/).

#[cfg(feature = "hash")]
mod hash;
#[cfg(feature = "serialize")]
mod serial;
#[cfg(feature = "stream")]
mod stream;
mod tree;

pub mod list;
pub mod map;
pub mod queue;
pub mod set;

pub use list::List;
pub use map::OrdHashMap;
pub use queue::LinkedHashMap;
pub use set::OrdHashSet;
pub use tree::Tree;