|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Immutable path-copying hash map backed by a HAMT. More...
#include <bit>#include <cstdint>#include <limits>#include <memory>#include <type_traits>#include <utility>#include <ah-errors.H>#include <ahFunction.H>#include <hash-fct.H>#include <tpl_array.H>Go to the source code of this file.
Classes | |
| class | Aleph::PersistentHashMap< Key, T, Cmp > |
| Immutable unordered map backed by a Hash Array Mapped Trie (HAMT). More... | |
| struct | Aleph::PersistentHashMap< Key, T, Cmp >::Node |
| Polymorphic base node managed by std::shared_ptr for structural sharing. More... | |
| struct | Aleph::PersistentHashMap< Key, T, Cmp >::LeafNode |
| struct | Aleph::PersistentHashMap< Key, T, Cmp >::BitmapNode |
| struct | Aleph::PersistentHashMap< Key, T, Cmp >::CollisionNode |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
Immutable path-copying hash map backed by a HAMT.
PersistentHashMap is an in-memory persistent collection: operations that look like updates return a new collection version and never mutate the old one. Unchanged trie nodes are shared through std::shared_ptr<const Node>.
This is unrelated to Aleph's file-backed persistence. Values are volatile in-memory objects and are not durable storage.
size_t. Keys with the same full hash are stored in a collision node and cost O(k) inside that collision group.Definition in file tpl_persistent_hash_map.H.