Lines Matching refs:PersistentMap

18 // PersistentMap is a persistent map datastructure based on hash trees (a binary
35 class PersistentMap {
78 bool operator==(const PersistentMap& other) const {
87 bool operator!=(const PersistentMap& other) const {
109 PersistentMap a;
110 PersistentMap b;
115 ZipIterable Zip(const PersistentMap& other) const { return {*this, other}; }
117 explicit PersistentMap(Zone* zone, Value def_value = Value())
118 : PersistentMap(nullptr, zone, def_value) {}
149 PersistentMap(const FocusedTree* tree, Zone* zone, Value def_value)
169 // {PersistentMap.tree_} always references the root, while a pointer from a
173 struct PersistentMap<Key, Value, Hasher>::FocusedTree {
201 class PersistentMap<Key, Value, Hasher>::HashValue {
225 class PersistentMap<Key, Value, Hasher>::iterator {
299 // Skip entries with default value. PersistentMap iterators must never point
319 class PersistentMap<Key, Value, Hasher>::double_iterator {
378 void PersistentMap<Key, Value, Hasher>::Set(Key key, Value value) {
407 *this = PersistentMap(tree, zone_, def_value_);
411 const typename PersistentMap<Key, Value, Hasher>::FocusedTree*
412 PersistentMap<Key, Value, Hasher>::FindHash(HashValue hash) const {
426 const typename PersistentMap<Key, Value, Hasher>::FocusedTree*
427 PersistentMap<Key, Value, Hasher>::FindHash(
453 const Value& PersistentMap<Key, Value, Hasher>::GetFocusedValue(
474 const typename PersistentMap<Key, Value, Hasher>::FocusedTree*
475 PersistentMap<Key, Value, Hasher>::GetChild(const FocusedTree* tree, int level,
487 const typename PersistentMap<Key, Value, Hasher>::FocusedTree*
488 PersistentMap<Key, Value, Hasher>::FindLeftmost(
511 const PersistentMap<Key, Value, Hasher>& map) {