Expand description

Disclaimer

This is a reimplementation of the indexmap crate and meant to be a drop-in replacement for its indexmap::IndexMap and indexmap::IndexSet types in embedded no_std environments that cannot afford to use hash tables that require random seed initialization in order to not be attackable by users controlling their inputs.

This crate was originally and primarily conceived as building block for a similar wasmparser-nostd crate fork for embedded no_std environments. Therefore this crate currently only supports a subset of the features of the original indexmap crate that are required by the wasmparser-nostd crate initiative.

Types

IndexMap is a hash table where the iteration order of the key-value pairs is independent of the hash values of the keys.

IndexSet is a corresponding hash set using the same implementation and with similar properties.

Feature Highlights

IndexMap and IndexSet are mostly drop-in compatible with the standard library’s HashMap and HashSet.

Re-exports

pub use self::map::IndexMap;
pub use self::set::IndexSet;

Modules

An ordered map based on a B-Tree that keeps insertion order of elements.

Functions to serialize and deserialize an IndexMap as an ordered sequence.

An ordered set based on a B-Tree that keeps insertion order of elements.