Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LongList.cs
Go to the documentation of this file.
1
namespace
System.Runtime.Serialization
;
2
3
internal
sealed
class
LongList
4
{
5
private
long
[]
_values
;
6
7
private
int
_count
;
8
9
private
int
_totalItems
;
10
11
private
int
_currentItem
;
12
13
internal
int
Count
=>
_count
;
14
15
internal
long
Current
=>
_values
[
_currentItem
];
16
17
internal
LongList
()
18
:
this
(2)
19
{
20
}
21
22
internal
LongList
(
int
startingSize
)
23
{
24
_count
= 0;
25
_totalItems
= 0;
26
_values
=
new
long
[
startingSize
];
27
}
28
29
internal
void
Add
(
long
value
)
30
{
31
if
(
_totalItems
==
_values
.Length)
32
{
33
EnlargeArray
();
34
}
35
_values
[
_totalItems
++] =
value
;
36
_count
++;
37
}
38
39
internal
void
StartEnumeration
()
40
{
41
_currentItem
= -1;
42
}
43
44
internal
bool
MoveNext
()
45
{
46
while
(++
_currentItem
<
_totalItems
&&
_values
[
_currentItem
] == -1)
47
{
48
}
49
return
_currentItem
!=
_totalItems
;
50
}
51
52
internal
bool
RemoveElement
(
long
value
)
53
{
54
int
i;
55
for
(i = 0; i <
_totalItems
&&
_values
[i] !=
value
; i++)
56
{
57
}
58
if
(i ==
_totalItems
)
59
{
60
return
false
;
61
}
62
_values
[i] = -1
L
;
63
return
true
;
64
}
65
66
private
void
EnlargeArray
()
67
{
68
int
num =
_values.Length
* 2;
69
if
(num < 0)
70
{
71
num =
int
.MaxValue;
72
}
73
long
[]
array
=
new
long
[num];
74
Array
.
Copy
(
_values
,
array
,
_count
);
75
_values
=
array
;
76
}
77
}
System.Array.Copy
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
Definition
Array.cs:624
System.Array
Definition
Array.cs:16
System.Runtime.Serialization.LongList.EnlargeArray
void EnlargeArray()
Definition
LongList.cs:66
System.Runtime.Serialization.LongList.MoveNext
bool MoveNext()
Definition
LongList.cs:44
System.Runtime.Serialization.LongList.LongList
LongList(int startingSize)
Definition
LongList.cs:22
System.Runtime.Serialization.LongList.Count
int Count
Definition
LongList.cs:13
System.Runtime.Serialization.LongList.Current
long Current
Definition
LongList.cs:15
System.Runtime.Serialization.LongList.StartEnumeration
void StartEnumeration()
Definition
LongList.cs:39
System.Runtime.Serialization.LongList.Add
void Add(long value)
Definition
LongList.cs:29
System.Runtime.Serialization.LongList._currentItem
int _currentItem
Definition
LongList.cs:11
System.Runtime.Serialization.LongList._count
int _count
Definition
LongList.cs:7
System.Runtime.Serialization.LongList._totalItems
int _totalItems
Definition
LongList.cs:9
System.Runtime.Serialization.LongList.RemoveElement
bool RemoveElement(long value)
Definition
LongList.cs:52
System.Runtime.Serialization.LongList.LongList
LongList()
Definition
LongList.cs:17
System.Runtime.Serialization.LongList._values
long[] _values
Definition
LongList.cs:5
System.Runtime.Serialization.LongList
Definition
LongList.cs:4
System.Runtime.Serialization.CollectionKind.Dictionary
@ Dictionary
System.Runtime.Serialization
Definition
SerializationGuard.cs:3
System.ExceptionArgument.value
@ value
System.ExceptionArgument.array
@ array
System.ConsoleKey.L
@ L
source
System.Runtime.Serialization.Formatters
System.Runtime.Serialization
LongList.cs
Generated by
1.10.0