示例#1
0
 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));
 }
示例#2
0
        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));
        }
示例#3
0
 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));
 }
示例#4
0
 public bool ContainsKey(TKey key, uint hash, int index, int shift) =>
 BranchNodes <TKey, TValue> .ContainsKey(this, key, hash, index, shift);