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

◆ GetFirstSpanSlow() [1/2]

ReadOnlySpan< T > System.Buffers.ReadOnlySequence< T >.GetFirstSpanSlow ( object startObject,
bool isMultiSegment )
inlineprivate

Definition at line 615 of file ReadOnlySequence.cs.

616 {
617 if (isMultiSegment)
618 {
620 }
621 int startInteger = _startInteger;
622 int endInteger = _endInteger;
623 if (startInteger >= 0)
624 {
625 return ((ReadOnlySpan<T>)(T[])startObject).Slice(startInteger, (endInteger & 0x7FFFFFFF) - startInteger);
626 }
627 if (typeof(T) == typeof(char) && endInteger < 0)
628 {
629 return ((ReadOnlyMemory<T>)(object)((string)startObject).AsMemory()).Span.Slice(startInteger & 0x7FFFFFFF, endInteger - startInteger);
630 }
631 startInteger &= 0x7FFFFFFF;
632 return ((MemoryManager<T>)startObject).Memory.Span.Slice(startInteger, endInteger - startInteger);
633 }
static void ThrowInvalidOperationException_EndPositionNotReached()

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

Referenced by System.Buffers.ReadOnlySequence< T >.GetFirstSpan(), and System.Buffers.ReadOnlySequence< T >.GetFirstSpan().