Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DisposableEnumeratorAdapter.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
3
namespace
System.Collections.Immutable
;
4
5
internal
struct
DisposableEnumeratorAdapter
<T, TEnumerator> :
IDisposable
where
TEnumerator :
struct
,
IEnumerator
<T>
6
{
7
private
readonly
IEnumerator<T>
_enumeratorObject
;
8
9
private
TEnumerator
_enumeratorStruct
;
10
11
public
T
Current
12
{
13
get
14
{
15
if
(
_enumeratorObject
==
null
)
16
{
17
return
_enumeratorStruct
.Current;
18
}
19
return
_enumeratorObject
.
Current
;
20
}
21
}
22
23
internal
DisposableEnumeratorAdapter
(TEnumerator
enumerator
)
24
{
25
_enumeratorStruct
=
enumerator
;
26
_enumeratorObject
=
null
;
27
}
28
29
internal
DisposableEnumeratorAdapter
(
IEnumerator<T>
enumerator
)
30
{
31
_enumeratorStruct
=
default
(TEnumerator);
32
_enumeratorObject
=
enumerator
;
33
}
34
35
public
bool
MoveNext
()
36
{
37
if
(
_enumeratorObject
==
null
)
38
{
39
return
_enumeratorStruct
.MoveNext();
40
}
41
return
_enumeratorObject
.MoveNext();
42
}
43
44
public
void
Dispose
()
45
{
46
if
(
_enumeratorObject
!=
null
)
47
{
48
_enumeratorObject
.Dispose();
49
}
50
else
51
{
52
_enumeratorStruct
.Dispose();
53
}
54
}
55
56
public
DisposableEnumeratorAdapter<T, TEnumerator>
GetEnumerator
()
57
{
58
return
this
;
59
}
60
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.IEnumerator.Current
new T Current
Definition
IEnumerator.cs:5
System.Collections.IEnumerator
Definition
IEnumerator.cs:4
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Collections.Immutable
Definition
AllocFreeConcurrentStack.cs:4
System.Collections.Immutable.DisposableEnumeratorAdapter.GetEnumerator
DisposableEnumeratorAdapter< T, TEnumerator > GetEnumerator()
Definition
DisposableEnumeratorAdapter.cs:56
System.Collections.Immutable.DisposableEnumeratorAdapter.DisposableEnumeratorAdapter
DisposableEnumeratorAdapter(TEnumerator enumerator)
Definition
DisposableEnumeratorAdapter.cs:23
System.Collections.Immutable.DisposableEnumeratorAdapter.DisposableEnumeratorAdapter
DisposableEnumeratorAdapter(IEnumerator< T > enumerator)
Definition
DisposableEnumeratorAdapter.cs:29
System.Collections.Immutable.DisposableEnumeratorAdapter._enumeratorObject
readonly IEnumerator< T > _enumeratorObject
Definition
DisposableEnumeratorAdapter.cs:7
System.Collections.Immutable.DisposableEnumeratorAdapter.Dispose
void Dispose()
Definition
DisposableEnumeratorAdapter.cs:44
System.Collections.Immutable.DisposableEnumeratorAdapter.Current
T Current
Definition
DisposableEnumeratorAdapter.cs:12
System.Collections.Immutable.DisposableEnumeratorAdapter.MoveNext
bool MoveNext()
Definition
DisposableEnumeratorAdapter.cs:35
System.Collections.Immutable.DisposableEnumeratorAdapter._enumeratorStruct
TEnumerator _enumeratorStruct
Definition
DisposableEnumeratorAdapter.cs:9
System.Collections.Immutable.DisposableEnumeratorAdapter
Definition
DisposableEnumeratorAdapter.cs:6
source
System.Collections.Immutable
System.Collections.Immutable
DisposableEnumeratorAdapter.cs
Generated by
1.10.0