Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SpanLineEnumerator.cs
Go to the documentation of this file.
1
namespace
System.Text
;
2
3
public ref struct
SpanLineEnumerator
4
{
5
private
ReadOnlySpan<char>
_remaining
;
6
7
private
ReadOnlySpan<char>
_current
;
8
9
private
bool
_isEnumeratorActive
;
10
11
public
ReadOnlySpan<char>
Current
=>
_current
;
12
13
internal
SpanLineEnumerator
(
ReadOnlySpan<char>
buffer
)
14
{
15
_remaining
=
buffer
;
16
_current
=
default
(
ReadOnlySpan<char>
);
17
_isEnumeratorActive
=
true
;
18
}
19
20
public
SpanLineEnumerator
GetEnumerator
()
21
{
22
return
this
;
23
}
24
25
public
bool
MoveNext
()
26
{
27
if
(!
_isEnumeratorActive
)
28
{
29
return
false
;
30
}
31
int
stride;
32
int
num =
string
.IndexOfNewlineChar(
_remaining
, out stride);
33
if
(num >= 0)
34
{
35
_current
=
_remaining
.
Slice
(0, num);
36
_remaining
=
_remaining
.
Slice
(num + stride);
37
}
38
else
39
{
40
_current
=
_remaining
;
41
_remaining
=
default
(
ReadOnlySpan<char>
);
42
_isEnumeratorActive
=
false
;
43
}
44
return
true
;
45
}
46
}
System.Text
Definition
ConsoleEncoding.cs:1
System.ExceptionArgument.buffer
@ buffer
System.ReadOnlySpan.Slice
ReadOnlySpan< T > Slice(int start)
Definition
ReadOnlySpan.cs:232
System.ReadOnlySpan
Definition
ReadOnlySpan.cs:14
System.Text.SpanLineEnumerator._isEnumeratorActive
bool _isEnumeratorActive
Definition
SpanLineEnumerator.cs:9
System.Text.SpanLineEnumerator._current
ReadOnlySpan< char > _current
Definition
SpanLineEnumerator.cs:7
System.Text.SpanLineEnumerator._remaining
ReadOnlySpan< char > _remaining
Definition
SpanLineEnumerator.cs:5
System.Text.SpanLineEnumerator.Current
ReadOnlySpan< char > Current
Definition
SpanLineEnumerator.cs:11
System.Text.SpanLineEnumerator.SpanLineEnumerator
SpanLineEnumerator(ReadOnlySpan< char > buffer)
Definition
SpanLineEnumerator.cs:13
System.Text.SpanLineEnumerator.GetEnumerator
SpanLineEnumerator GetEnumerator()
Definition
SpanLineEnumerator.cs:20
System.Text.SpanLineEnumerator.MoveNext
bool MoveNext()
Definition
SpanLineEnumerator.cs:25
System.Text.SpanLineEnumerator
Definition
SpanLineEnumerator.cs:4
source
System.Private.CoreLib
System.Text
SpanLineEnumerator.cs
Generated by
1.10.0