Skip to main content

Crate opthash

Crate opthash 

Source
Expand description

Open-addressing hash maps and sets built on Elastic Hashing and Funnel Hashing, sharing a SwissTable-style control-byte core.

The crate is no_std (needs alloc); the default features std and default-hasher are on for the usual std-backed, foldhash-seeded setup. Disable them for a core-only build where callers supply their own hasher.

Structs§

DefaultHashBuilder
Default BuildHasher for the maps’ S type parameter.
EpochSnapshot
Snapshot of the current allocation epoch.
ReserveFraction
An exact dyadic reserve fraction delta = 1 / 2^d.

Enums§

EpochTransition
Cause of the current allocation epoch.
ReserveFractionError
A reserve fraction cannot be represented by the exact dyadic model.
TryBuildError
Error returned by fallible map and set constructors.
TryReserveError
Error returned by try_reserve when the map can’t grow.

Traits§

Equivalent
Key equivalence trait.

Type Aliases§

ElasticDifference
Iterator over values present only in the first set.
ElasticDrain
Draining iterator that empties the map.
ElasticEntry
A view into a single entry, occupied or vacant.
ElasticExtractIf
Iterator yielding entries removed by extract_if.
ElasticHashMap
Open-addressed hash map using elastic hashing.
ElasticHashSet
Hash set using elastic hashing.
ElasticIntersection
Iterator over values present in both sets.
ElasticIntoIter
Consuming iterator over owned (K, V).
ElasticIntoKeys
Owned K iterator.
ElasticIntoValues
Owned V iterator.
ElasticIter
Borrowing iterator over (&K, &V).
ElasticIterMut
Borrowing iterator over (&K, &mut V).
ElasticKeys
&K iterator.
ElasticOccupiedEntry
View of an occupied entry.
ElasticOccupiedError
Error returned by try_insert on key collision.
ElasticSetDrain
Draining iterator that empties the set.
ElasticSetEntry
A view into a single set entry.
ElasticSetExtractIf
Iterator yielding values removed by set extract_if.
ElasticSetIntoIter
Consuming iterator over set values.
ElasticSetIter
Borrowing iterator over set values.
ElasticSetOccupiedEntry
View of an occupied set entry.
ElasticSetVacantEntry
View of a vacant set entry.
ElasticSymmetricDifference
Iterator over values present in exactly one set.
ElasticUnion
Iterator over values present in either set.
ElasticVacantEntry
View of a vacant entry.
ElasticValues
&V iterator.
ElasticValuesMut
&mut V iterator.
FunnelDifference
Iterator over values present only in the first set.
FunnelDrain
Draining iterator that empties the map.
FunnelEntry
A view into a single entry, occupied or vacant.
FunnelExtractIf
Iterator yielding entries removed by extract_if.
FunnelHashMap
Open-addressed hash map using funnel hashing.
FunnelHashSet
Hash set using funnel hashing.
FunnelIntersection
Iterator over values present in both sets.
FunnelIntoIter
Consuming iterator over owned (K, V).
FunnelIntoKeys
Owned K iterator.
FunnelIntoValues
Owned V iterator.
FunnelIter
Borrowing iterator over (&K, &V).
FunnelIterMut
Borrowing iterator over (&K, &mut V).
FunnelKeys
&K iterator.
FunnelOccupiedEntry
View of an occupied entry.
FunnelOccupiedError
Error returned by try_insert on key collision.
FunnelSetDrain
Draining iterator that empties the set.
FunnelSetEntry
A view into a single set entry.
FunnelSetExtractIf
Iterator yielding values removed by set extract_if.
FunnelSetIntoIter
Consuming iterator over set values.
FunnelSetIter
Borrowing iterator over set values.
FunnelSetOccupiedEntry
View of an occupied set entry.
FunnelSetVacantEntry
View of a vacant set entry.
FunnelSymmetricDifference
Iterator over values present in exactly one set.
FunnelUnion
Iterator over values present in either set.
FunnelVacantEntry
View of a vacant entry.
FunnelValues
&V iterator.
FunnelValuesMut
&mut V iterator.