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

◆ GetFirstBufferSlow()

ReadOnlyMemory< T > System.Buffers.ReadOnlySequence< T >.GetFirstBufferSlow ( object startObject,
bool isMultiSegment )
inlineprivate

Definition at line 571 of file ReadOnlySequence.cs.

572 {
573 if (isMultiSegment)
574 {
576 }
577 int startInteger = _startInteger;
578 int endInteger = _endInteger;
579 if (startInteger >= 0)
580 {
581 return new ReadOnlyMemory<T>((T[])startObject, startInteger, (endInteger & 0x7FFFFFFF) - startInteger);
582 }
583 if (typeof(T) == typeof(char) && endInteger < 0)
584 {
585 return (ReadOnlyMemory<T>)(object)((string)startObject).AsMemory(startInteger & 0x7FFFFFFF, endInteger - startInteger);
586 }
587 startInteger &= 0x7FFFFFFF;
588 return ((MemoryManager<T>)startObject).Memory.Slice(startInteger, endInteger - startInteger);
589 }
static void ThrowInvalidOperationException_EndPositionNotReached()

References System.Buffers.ReadOnlySequence< T >._endInteger, System.Buffers.ReadOnlySequence< T >._startInteger, System.Memory< T >.Slice(), and System.ThrowHelper.ThrowInvalidOperationException_EndPositionNotReached().

Referenced by System.Buffers.ReadOnlySequence< T >.GetFirstBuffer().