public ImmutableDictionary <TKey, TValue> Add <TValueNodes>( TKey key, TValue value, uint hash, uint index, uint indexValues, int shift, ulong bitmapNodes, ulong bitmapValues, TValueNodes values) where TValueNodes : struct, IValueNodes <TKey, TValue> { return(BranchNodes <TKey, TValue> .Add <BranchNodes0 <TKey, TValue>, BranchNodes1 <TKey, TValue>, TValueNodes>( this, key, value, hash, index, indexValues, shift, bitmapNodes, bitmapValues, values)); }
public ImmutableDictionary <TKey, TValue> DuplicateWith <TValueNodes>( TKey key, TValue value, uint hash, long index, int shift, ulong bitmapNodes, ulong bitmapValues, TValueNodes values) where TValueNodes : struct, IValueNodes <TKey, TValue> { Debug.Assert(_node1 != null); Debug.Assert(_node2 != null); return(BranchNodes <TKey, TValue> .Clone(this, key, value, hash, index, shift, bitmapNodes, bitmapValues, values)); }
public ImmutableDictionary <TKey, TValue> Add <TValueNodes>( TKey key, TValue value, uint hash, uint index, uint indexValues, int shift, ulong bitmapNodes, ulong bitmapValues, TValueNodes values) where TValueNodes : struct, IValueNodes <TKey, TValue> { Debug.Assert(_node1 != null); Debug.Assert(_node2 != null); return(BranchNodes <TKey, TValue> .Add <BranchNodes2 <TKey, TValue>, BranchNodes3 <TKey, TValue>, TValueNodes>( this, key, value, hash, index, indexValues, shift, bitmapNodes, bitmapValues, values)); }
public bool ContainsKey(TKey key, uint hash, int index, int shift) => BranchNodes <TKey, TValue> .ContainsKey(this, key, hash, index, shift);