Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CopyTo() [2/2]

int System.IO.Compression.InputBuffer.CopyTo ( Memory< byte > output)
inline

Definition at line 85 of file InputBuffer.cs.

86 {
87 int num = 0;
88 while (_bitsInBuffer > 0 && !output.IsEmpty)
89 {
90 output.Span[0] = (byte)_bitBuffer;
91 output = output.Slice(1);
92 _bitBuffer >>= 8;
93 _bitsInBuffer -= 8;
94 num++;
95 }
96 if (output.IsEmpty)
97 {
98 return num;
99 }
100 int num2 = Math.Min(output.Length, _buffer.Length);
101 _buffer.Slice(0, num2).CopyTo(output);
102 _buffer = _buffer.Slice(num2);
103 return num + num2;
104 }
Memory< T > Slice(int start)
Definition Memory.cs:194
unsafe Span< T > Span
Definition Memory.cs:28
bool IsEmpty
Definition Memory.cs:25

References System.IO.Compression.InputBuffer._bitBuffer, System.IO.Compression.InputBuffer._bitsInBuffer, System.IO.Compression.InputBuffer._buffer, System.Memory< T >.IsEmpty, System.Memory< T >.Length, System.Math.Min(), System.Memory< T >.Slice(), and System.Memory< T >.Span.

Referenced by System.IO.Compression.InputBuffer.CopyTo().