| File: System\Collections\Immutable\ImmutableDictionary_2.MutationInput.cs | Web Access |
| Project: src\runtime\src\libraries\System.Collections.Immutable\src\System.Collections.Immutable.csproj (System.Collections.Immutable) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Generic; namespace System.Collections.Immutable { /// <content> /// Contains the inner <see cref="ImmutableDictionary{TKey, TValue}.MutationInput"/> class. /// </content> public partial class ImmutableDictionary<TKey, TValue> { /// <summary> /// Description of the current data structure as input into a /// mutating or query method. /// </summary> private readonly struct MutationInput { /// <summary> /// The root of the data structure for the collection. /// </summary> private readonly SortedInt32KeyNode<HashBucket> _root; /// <summary> /// The comparer used when comparing hash buckets. /// </summary> private readonly Comparers _comparers; /// <summary> /// Initializes a new instance of the <see cref="ImmutableDictionary{TKey, TValue}.MutationInput"/> struct. /// </summary> /// <param name="root">The root.</param> /// <param name="comparers">The comparers.</param> /// internal MutationInput( SortedInt32KeyNode<HashBucket> root, Comparers comparers) { _root = root; _comparers = comparers; } /// <summary> /// Initializes a new instance of the <see cref="ImmutableDictionary{TKey, TValue}.MutationInput"/> struct. /// </summary> /// <param name="map">The map.</param> internal MutationInput(ImmutableDictionary<TKey, TValue> map) { _root = map._root; _comparers = map._comparers; } /// <summary> /// Gets the root of the data structure for the collection. /// </summary> internal SortedInt32KeyNode<HashBucket> Root { get { return _root; } } /// <summary> /// Gets the set of comparers. /// </summary> internal Comparers Comparers { get { return _comparers; } } /// <summary> /// Gets the key comparer. /// </summary> internal IEqualityComparer<TKey> KeyComparer { get { return _comparers.KeyComparer; } } /// <summary> /// Gets the key only comparer. /// </summary> internal IEqualityComparer<KeyValuePair<TKey, TValue>> KeyOnlyComparer { get { return _comparers.KeyOnlyComparer; } } /// <summary> /// Gets the value comparer. /// </summary> internal IEqualityComparer<TValue> ValueComparer { get { return _comparers.ValueComparer; } } /// <summary> /// Gets the comparers. /// </summary> internal IEqualityComparer<HashBucket> HashBucketComparer { get { return _comparers.HashBucketEqualityComparer; } } } } }