Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Collections.Immutable.ImmutableDictionary< TKey, TValue > Class Template Referencesealed

Classes

class  Builder
 
class  Comparers
 
struct  Enumerator
 
struct  HashBucket
 
struct  MutationInput
 
struct  MutationResult
 

Public Member Functions

ImmutableDictionary< TKey, TValue > Clear ()
 
Builder ToBuilder ()
 
ImmutableDictionary< TKey, TValue > Add (TKey key, TValue value)
 
ImmutableDictionary< TKey, TValue > AddRange (IEnumerable< KeyValuePair< TKey, TValue > > pairs)
 
ImmutableDictionary< TKey, TValue > SetItem (TKey key, TValue value)
 
ImmutableDictionary< TKey, TValue > SetItems (IEnumerable< KeyValuePair< TKey, TValue > > items)
 
ImmutableDictionary< TKey, TValue > Remove (TKey key)
 
ImmutableDictionary< TKey, TValue > RemoveRange (IEnumerable< TKey > keys)
 
bool ContainsKey (TKey key)
 
bool Contains (KeyValuePair< TKey, TValue > pair)
 
bool TryGetValue (TKey key, [MaybeNullWhen(false)] out TValue value)
 
bool TryGetKey (TKey equalKey, out TKey actualKey)
 
ImmutableDictionary< TKey, TValue > WithComparers (IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer)
 
ImmutableDictionary< TKey, TValue > WithComparers (IEqualityComparer< TKey >? keyComparer)
 
bool ContainsValue (TValue value)
 
Enumerator GetEnumerator ()
 
void Add (object key, object? value)
 
void Add (object key, object? value)
 

Static Public Member Functions

static ImmutableDictionary< TKey, TValue > Create< TKey, TValue > ()
 
static ImmutableDictionary< TKey, TValue > Create< TKey, TValue > (IEqualityComparer< TKey >? keyComparer)
 
static ImmutableDictionary< TKey, TValue > Create< TKey, TValue > (IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer)
 
static ImmutableDictionary< TKey, TValue > CreateRange< TKey, TValue > (IEnumerable< KeyValuePair< TKey, TValue > > items)
 
static ImmutableDictionary< TKey, TValue > CreateRange< TKey, TValue > (IEqualityComparer< TKey >? keyComparer, IEnumerable< KeyValuePair< TKey, TValue > > items)
 
static ImmutableDictionary< TKey, TValue > CreateRange< TKey, TValue > (IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer, IEnumerable< KeyValuePair< TKey, TValue > > items)
 
static ImmutableDictionary< TKey, TValue >.Builder CreateBuilder< TKey, TValue > ()
 
static ImmutableDictionary< TKey, TValue >.Builder CreateBuilder< TKey, TValue > (IEqualityComparer< TKey >? keyComparer)
 
static ImmutableDictionary< TKey, TValue >.Builder CreateBuilder< TKey, TValue > (IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TSource, TKey, TValue > (this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TValue > elementSelector, IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TKey, TValue > (this ImmutableDictionary< TKey, TValue >.Builder builder)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TSource, TKey, TValue > (this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TValue > elementSelector, IEqualityComparer< TKey >? keyComparer)
 
static ImmutableDictionary< TKey, TSource > ToImmutableDictionary< TSource, TKey > (this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
 
static ImmutableDictionary< TKey, TSource > ToImmutableDictionary< TSource, TKey > (this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, IEqualityComparer< TKey >? keyComparer)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TSource, TKey, TValue > (this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TValue > elementSelector)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TKey, TValue > (this IEnumerable< KeyValuePair< TKey, TValue > > source, IEqualityComparer< TKey >? keyComparer, IEqualityComparer< TValue >? valueComparer)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TKey, TValue > (this IEnumerable< KeyValuePair< TKey, TValue > > source, IEqualityComparer< TKey >? keyComparer)
 
static ImmutableDictionary< TKey, TValue > ToImmutableDictionary< TKey, TValue > (this IEnumerable< KeyValuePair< TKey, TValue > > source)
 
static bool Contains< TKey, TValue > (this IImmutableDictionary< TKey, TValue > map, TKey key, TValue value)
 
static ? TValue GetValueOrDefault< TKey, TValue > (this IImmutableDictionary< TKey, TValue > dictionary, TKey key)
 
static TValue GetValueOrDefault< TKey, TValue > (this IImmutableDictionary< TKey, TValue > dictionary, TKey key, TValue defaultValue)
 

Static Public Attributes

static readonly ImmutableDictionary< TKey, TValue > Empty = new ImmutableDictionary<TKey, TValue>()
 

Properties

int Count [get]
 
bool IsEmpty [get]
 
IEqualityComparer< TKey > KeyComparer [get]
 
IEqualityComparer< TValue > ValueComparer [get]
 
IEnumerable< TKey > Keys [get]
 
IEnumerable< TValue > Values [get]
 
ICollection< TKey > IDictionary< TKey, TValue >. Keys [get]
 
ICollection< TValue > IDictionary< TKey, TValue >. Values [get]
 
MutationInput Origin [get]
 
TValue this[TKey key] [get]
 
TValue IDictionary< TKey, TValue >. this[TKey key] [get, set]
 
bool ICollection< KeyValuePair< TKey, TValue > >. IsReadOnly [get]
 
bool IDictionary. IsFixedSize [get]
 
bool IDictionary. IsReadOnly [get]
 
ICollection IDictionary. Keys [get]
 
ICollection IDictionary. Values [get]
 
SortedInt32KeyNode< HashBucketRoot [get]
 
object? IDictionary. this[object key] [get, set]
 
object ICollection. SyncRoot [get]
 
bool ICollection. IsSynchronized [get]
 

Private Member Functions

 ImmutableDictionary (SortedInt32KeyNode< HashBucket > root, Comparers comparers, int count)
 
 ImmutableDictionary (Comparers comparers=null)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. Clear ()
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. Add (TKey key, TValue value)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. SetItem (TKey key, TValue value)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. SetItems (IEnumerable< KeyValuePair< TKey, TValue > > items)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. AddRange (IEnumerable< KeyValuePair< TKey, TValue > > pairs)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. RemoveRange (IEnumerable< TKey > keys)
 
IImmutableDictionary< TKey, TValue > IImmutableDictionary< TKey, TValue >. Remove (TKey key)
 
void IDictionary< TKey, TValue >. Add (TKey key, TValue value)
 
bool IDictionary< TKey, TValue >. Remove (TKey key)
 
void ICollection< KeyValuePair< TKey, TValue > >. Add (KeyValuePair< TKey, TValue > item)
 
void ICollection< KeyValuePair< TKey, TValue > >. Clear ()
 
bool ICollection< KeyValuePair< TKey, TValue > >. Remove (KeyValuePair< TKey, TValue > item)
 
void ICollection< KeyValuePair< TKey, TValue > >. CopyTo (KeyValuePair< TKey, TValue >[] array, int arrayIndex)
 
void IDictionary. Add (object key, object value)
 
bool IDictionary. Contains (object key)
 
IDictionaryEnumerator IDictionary. GetEnumerator ()
 
void IDictionary. Remove (object key)
 
void IDictionary. Clear ()
 
void ICollection. CopyTo (Array array, int arrayIndex)
 
IEnumerator< KeyValuePair< TKey, TValue > > IEnumerable< KeyValuePair< TKey, TValue > >. GetEnumerator ()
 
IEnumerator IEnumerable. GetEnumerator ()
 
ImmutableDictionary< TKey, TValue > Wrap (SortedInt32KeyNode< HashBucket > root, int adjustedCountIfDifferentRoot)
 
ImmutableDictionary< TKey, TValue > AddRange (IEnumerable< KeyValuePair< TKey, TValue > > pairs, bool avoidToHashMap)
 

Static Private Member Functions

static ImmutableDictionary< TKey, TValue > EmptyWithComparers (Comparers comparers)
 
static bool TryCastToImmutableMap (IEnumerable< KeyValuePair< TKey, TValue > > sequence, [NotNullWhen(true)] out ImmutableDictionary< TKey, TValue > other)
 
static bool ContainsKey (TKey key, MutationInput origin)
 
static bool Contains (KeyValuePair< TKey, TValue > keyValuePair, MutationInput origin)
 
static bool TryGetValue (TKey key, MutationInput origin, [MaybeNullWhen(false)] out TValue value)
 
static bool TryGetKey (TKey equalKey, MutationInput origin, out TKey actualKey)
 
static MutationResult Add (TKey key, TValue value, KeyCollisionBehavior behavior, MutationInput origin)
 
static MutationResult AddRange (IEnumerable< KeyValuePair< TKey, TValue > > items, MutationInput origin, KeyCollisionBehavior collisionBehavior=KeyCollisionBehavior.ThrowIfValueDifferent)
 
static MutationResult Remove (TKey key, MutationInput origin)
 
static SortedInt32KeyNode< HashBucketUpdateRoot (SortedInt32KeyNode< HashBucket > root, int hashCode, HashBucket newBucket, IEqualityComparer< HashBucket > hashBucketComparer)
 
static ImmutableDictionary< TKey, TValue > Wrap (SortedInt32KeyNode< HashBucket > root, Comparers comparers, int count)
 

Private Attributes

readonly int _count
 
readonly SortedInt32KeyNode< HashBucket_root
 
readonly Comparers _comparers
 

Static Private Attributes

static readonly Action< KeyValuePair< int, HashBucket > > s_FreezeBucketAction
 

Detailed Description

Type Constraints
TKey :notnull 

Definition at line 137 of file ImmutableDictionary.cs.


The documentation for this class was generated from the following file: