Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Iterator.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
using
System.Collections.Generic
;
3
4
namespace
System.IO
;
5
6
internal
abstract
class
Iterator
<TSource> :
IEnumerable
<TSource>,
IEnumerable
,
IEnumerator
<TSource>,
IDisposable
,
IEnumerator
7
{
8
private
readonly
int
_threadId
;
9
10
internal
int
state
;
11
12
internal
TSource
current
;
13
14
public
TSource
Current
=>
current
;
15
16
object
IEnumerator.Current =>
Current
;
17
18
public
Iterator
()
19
{
20
_threadId
=
Environment
.
CurrentManagedThreadId
;
21
}
22
23
protected
abstract
Iterator<TSource>
Clone
();
24
25
public
void
Dispose
()
26
{
27
Dispose
(
disposing
:
true
);
28
GC
.
SuppressFinalize
(
this
);
29
}
30
31
protected
virtual
void
Dispose
(
bool
disposing
)
32
{
33
current
=
default
(TSource);
34
state
= -1;
35
}
36
37
public
IEnumerator<TSource>
GetEnumerator
()
38
{
39
if
(
state
== 0 &&
_threadId
==
Environment
.
CurrentManagedThreadId
)
40
{
41
state
= 1;
42
return
this
;
43
}
44
Iterator<TSource>
iterator
=
Clone
();
45
iterator.state = 1;
46
return
iterator
;
47
}
48
49
public
abstract
bool
MoveNext
();
50
51
IEnumerator
IEnumerable
.
GetEnumerator
()
52
{
53
return
GetEnumerator
();
54
}
55
56
void
IEnumerator
.
Reset
()
57
{
58
throw
new
NotSupportedException
();
59
}
60
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Environment.CurrentManagedThreadId
static int CurrentManagedThreadId
Definition
Environment.cs:103
System.Environment
Definition
Environment.cs:15
System.GC.SuppressFinalize
static void SuppressFinalize(object obj)
Definition
GC.cs:202
System.GC
Definition
GC.cs:8
System.IO.Iterator.GetEnumerator
IEnumerator< TSource > GetEnumerator()
Definition
Iterator.cs:37
System.IO.Iterator.state
int state
Definition
Iterator.cs:10
System.IO.Iterator.MoveNext
bool MoveNext()
System.IO.Iterator._threadId
readonly int _threadId
Definition
Iterator.cs:8
System.IO.Iterator.Current
object IEnumerator. Current
Definition
Iterator.cs:16
System.IO.Iterator.Clone
Iterator< TSource > Clone()
System.IO.Iterator.Iterator
Iterator()
Definition
Iterator.cs:18
System.IO.Iterator.Dispose
void Dispose()
Definition
Iterator.cs:25
System.IO.Iterator.current
TSource current
Definition
Iterator.cs:12
System.IO.Iterator.Current
TSource Current
Definition
Iterator.cs:14
System.IO.Iterator.Dispose
virtual void Dispose(bool disposing)
Definition
Iterator.cs:31
System.IO.Iterator
Definition
Iterator.cs:7
System.NotSupportedException
Definition
NotSupportedException.cs:9
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.IEnumerator.Reset
void Reset()
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Collections
Definition
BlockingCollection.cs:8
System.IO
Definition
ConsoleStream.cs:3
source
System.Private.CoreLib
System.IO
Iterator.cs
Generated by
1.10.0