Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BidirectionalDictionary.cs
Go to the documentation of this file.
1
using
System.Diagnostics.CodeAnalysis
;
2
3
namespace
System.Collections.Generic
;
4
5
internal
sealed
class
BidirectionalDictionary<T1, T2> : IEnumerable<KeyValuePair<T1, T2>>, IEnumerable
6
{
7
private
readonly
Dictionary<T1, T2>
_forward
;
8
9
private
readonly
Dictionary<T2, T1>
_backward
;
10
11
public
BidirectionalDictionary
(
int
capacity
)
12
{
13
_forward
=
new
Dictionary<T1, T2>
(
capacity
);
14
_backward
=
new
Dictionary<T2, T1>
(
capacity
);
15
}
16
17
public
void
Add
(T1
item1
, T2
item2
)
18
{
19
_forward
.
Add
(
item1
,
item2
);
20
_backward
.
Add
(
item2
,
item1
);
21
}
22
23
public
bool
TryGetForward
(T1
item1
, [
MaybeNullWhen
(
false
)]
out
T2
item2
)
24
{
25
return
_forward
.
TryGetValue
(
item1
,
out
item2
);
26
}
27
28
public
bool
TryGetBackward
(T2
item2
, [
MaybeNullWhen
(
false
)]
out
T1
item1
)
29
{
30
return
_backward
.
TryGetValue
(
item2
,
out
item1
);
31
}
32
33
public
Dictionary<T1, T2>
.
Enumerator
GetEnumerator
()
34
{
35
return
_forward
.
GetEnumerator
();
36
}
37
38
IEnumerator<KeyValuePair<T1, T2>
>
IEnumerable<KeyValuePair<T1, T2>
>.
GetEnumerator
()
39
{
40
return
GetEnumerator
();
41
}
42
43
IEnumerator
IEnumerable
.
GetEnumerator
()
44
{
45
return
GetEnumerator
();
46
}
47
}
System.Collections.Generic.BidirectionalDictionary.GetEnumerator
Dictionary< T1, T2 >.Enumerator GetEnumerator()
Definition
BidirectionalDictionary.cs:33
System.Collections.Generic.BidirectionalDictionary._forward
readonly Dictionary< T1, T2 > _forward
Definition
BidirectionalDictionary.cs:7
System.Collections.Generic.BidirectionalDictionary.Add
void Add(T1 item1, T2 item2)
Definition
BidirectionalDictionary.cs:17
System.Collections.Generic.BidirectionalDictionary._backward
readonly Dictionary< T2, T1 > _backward
Definition
BidirectionalDictionary.cs:9
System.Collections.Generic.BidirectionalDictionary.BidirectionalDictionary
BidirectionalDictionary(int capacity)
Definition
BidirectionalDictionary.cs:11
System.Collections.Generic.BidirectionalDictionary.TryGetForward
bool TryGetForward(T1 item1, [MaybeNullWhen(false)] out T2 item2)
Definition
BidirectionalDictionary.cs:23
System.Collections.Generic.BidirectionalDictionary.TryGetBackward
bool TryGetBackward(T2 item2, [MaybeNullWhen(false)] out T1 item1)
Definition
BidirectionalDictionary.cs:28
System.Collections.Generic.Dictionary.TryGetValue
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
Definition
Dictionary.cs:1419
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.IEnumerable.GetEnumerator
new IEnumerator< T > GetEnumerator()
System.Collections.Generic.IEnumerable
Definition
IEnumerable.cs:4
System.Collections.Generic.IEnumerator
Definition
IEnumerator.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Diagnostics.CodeAnalysis
Definition
AllowNullAttribute.cs:1
System.ExceptionArgument.capacity
@ capacity
System.Collections.Generic.Dictionary.Enumerator
Definition
Dictionary.cs:137
source
System.Net.Http
System.Collections.Generic
BidirectionalDictionary.cs
Generated by
1.10.0