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
36
37
// Copyright 2025 Gabriel Bjørnager Jensen.
//! `identity_map` is a Rust crate for mapping keys with associated values.
//!
//! This crate defines the [`IdentityMap`] and [`IdentitySet`] as analogues to the standard library's [`HashMap`](std::collections::HashMap) and [`HashSet`](std::collections::HashSet).
//! Contrary to the standard library, however, keys are in the identity collections transformed as if by using [the identity function](https://en.wikipedia.org/wiki/Identity_function/).
//!
//! Using the identity function *may* make tables larger in size (depending on the key type), but does also allow for making the very same tables non-collidable.
//! The collections provided by this crate are ordered and required keys implementing [`Ord`].
//!
//! # Copyright & Licence.
//!
//! Copyright 2025 Gabriel Bjørnager Jensen.
//!
//! `identity_map` is distributed under either an MIT licence or version 2.0 of the Apache License, at your option.
extern crate alloc;
extern crate std;
pub use crateIdentityMap;
pub use crateIdentitySet;