2 types derived from Bucket
Microsoft.CodeAnalysis.Workspaces (2)
25 references to Bucket
Microsoft.CodeAnalysis.Workspaces (25)
ImmutableHashMap.cs (25)
36private readonly Bucket? _root;
54private ImmutableHashMap(Bucket? root, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer)
176var map = _root;
293var stack = new Stack<IEnumerator<Bucket>>();
507private ImmutableHashMap<TKey, TValue> Wrap(Bucket? root)
563var stack = new Stack<IEnumerator<Bucket>>();
590internal abstract Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue);
591internal abstract Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer);
593internal abstract IEnumerable<Bucket> GetAll();
631internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue)
666internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer)
686internal override IEnumerable<Bucket> GetAll()
708internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue)
743internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer)
795internal override IEnumerable<Bucket> GetAll()
803private readonly Bucket[] _buckets;
813private HashBucket(int hashRoll, uint used, Bucket[] buckets, int count)
850_buckets = new Bucket[2];
862internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue)
869var existing = _buckets[physicalSlot];
873var added = existing.Add(_hashRoll + 5, bucket, keyComparer, valueComparer, overwriteExistingValue);
893internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer)
899var existing = _buckets[physicalSlot];
900var result = existing.Remove(hash, key, comparer);
937internal override IEnumerable<Bucket> GetAll()