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

◆ ReadSpan()

int System.IO.StreamReader.ReadSpan ( Span< char > buffer)
inlineprivateinherited

Definition at line 353 of file StreamReader.cs.

354 {
357 int num = 0;
358 bool readToUserBuffer = false;
359 int num2 = buffer.Length;
360 while (num2 > 0)
361 {
362 int num3 = _charLen - _charPos;
363 if (num3 == 0)
364 {
365 num3 = ReadBuffer(buffer.Slice(num), out readToUserBuffer);
366 }
367 if (num3 == 0)
368 {
369 break;
370 }
371 if (num3 > num2)
372 {
373 num3 = num2;
374 }
375 if (!readToUserBuffer)
376 {
377 new Span<char>(_charBuffer, _charPos, num3).CopyTo(buffer.Slice(num));
378 _charPos += num3;
379 }
380 num += num3;
381 num2 -= num3;
382 if (_isBlocked)
383 {
384 break;
385 }
386 }
387 return num;
388 }
virtual int ReadBuffer()

References System.IO.StreamReader._charBuffer, System.IO.StreamReader._charLen, System.IO.StreamReader._charPos, System.IO.StreamReader._isBlocked, System.buffer, System.IO.StreamReader.CheckAsyncTaskInProgress(), System.Span< T >.CopyTo(), System.IO.StreamReader.ReadBuffer(), and System.IO.StreamReader.ThrowIfDisposed().

Referenced by System.IO.StreamReader.Read(), System.IO.StreamReader.Read(), and System.IO.StreamReader.ReadBlock().