indexmap
indexmap copied to clipboard
A hash table with consistent order and fast iteration; access items by key or sequence index
`std::collections::HashMap` is adding `get_many_mut` in https://github.com/rust-lang/rust/issues/97601 and I'm working on replacing some uses of that hash map with this one where some of the code uses `get_many_mut` (currently only a...
I have a usecase for `IndexSet`, where `T` is a complex struct with a hash that is computed on a reduced subset of its fields. I would like to be...
Adds 2 utility functions ontop of the Entry API. - `OccupiedEntry.get_entry_mut` - for when you want a reference to the key, and a mutable reference to the value. - `VacantEntry.insert_entry`...
Insert a key-value pair into the map without checking if the key already exists in the map. This operation is safe if a key does not exist in the map....
Let's use this issue to discuss changes for a hypothetical 2.0. ### Proposed - [x] Increase the MSRV from 1.18. - This is not strictly breaking, as we did state...
Both `IndexMap` and `IndexSet` restrict access to their `new()` and `with_capacity()` methods behind the `has_std` feature gate. Turns out, this isn't actually required because we can use `DefaultHashBuilder` from the...
The index type is a new generic parameter defaulting to `usize`: pub struct IndexSet pub struct IndexMap In `no_std` builds, `S` has no default, but still `Idx = usize`. This...
When `IndexMap` is small, e. g. 5 elements, it is faster to: * not allocate `RawTable` * linear search elements
Currently, the readme contains the following text: > A pure-Rust hash table **which preserves (in a limited sense) insertion order**. [...] > [...] **It preserves insertion order (except after removals)**...
Types of this crate are containers, which can be used in a variety of software. Some of that software needs to be fuzzed, and it's very convenient to do so...