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
34
35
//! A ZeroCopy [`Map`] and [`Set`] based on a perfect hash functions.
//!
//! While these maps can be incredibly performant, they can be incredibly
//! expensive to build. So avoid these if you're storing many elements.
//!
//! For very large maps and sets, prefer to use [`swiss`] instead.
//!
//! [`swiss`]: crate::swiss

// Map internals copied from rust-phf under the MIT license.
//
// See:
// https://github.com/rust-phf/rust-phf/tree/b7116ff519415d302c070aa313831cd473b1a911

#[cfg(feature = "alloc")]
pub(crate) mod generator;

pub(crate) mod hashing;

pub(crate) use self::entry::Entry;
mod entry;

#[doc(inline)]
pub use self::map::{Map, MapRef};
pub mod map;

#[doc(inline)]
pub use self::set::{Set, SetRef};
pub mod set;

#[cfg(feature = "alloc")]
#[doc(inline)]
pub use self::factory::*;
#[cfg(feature = "alloc")]
mod factory;