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

◆ Seek() [1/2]

SequencePosition System.Buffers.ReadOnlySequence< T >.Seek ( in SequencePosition start,
long offset )
inlineprivate

Definition at line 663 of file ReadOnlySequence.cs.

664 {
665 object @object = start.GetObject();
666 object endObject = _endObject;
667 int integer = start.GetInteger();
669 if (@object != endObject)
670 {
671 ReadOnlySequenceSegment<T> readOnlySequenceSegment = (ReadOnlySequenceSegment<T>)@object;
672 int num = readOnlySequenceSegment.Memory.Length - integer;
673 if (num <= offset)
674 {
675 if (num < 0)
676 {
678 }
679 return SeekMultiSegment(readOnlySequenceSegment.Next, endObject, index, offset - num, System.ExceptionArgument.offset);
680 }
681 }
682 else if (index - integer < offset)
683 {
685 }
686 return new SequencePosition(@object, integer + (int)offset);
687 }
static void ThrowArgumentOutOfRangeException(System.ExceptionArgument argument)
static void ThrowArgumentOutOfRangeException_PositionOutOfRange()
static SequencePosition SeekMultiSegment(ReadOnlySequenceSegment< T > currentSegment, object endObject, int endIndex, long offset, System.ExceptionArgument argument)
static int GetIndex(int Integer)

References System.Buffers.ReadOnlySequence< T >._endInteger, System.Buffers.ReadOnlySequence< T >._endObject, System.Buffers.ReadOnlySequence< T >.GetIndex(), System.SequencePosition.GetObject(), System.index, System.Buffers.ReadOnlySequenceSegment< T >.Next, System.offset, System.Buffers.ReadOnlySequence< T >.SeekMultiSegment(), System.start, System.ThrowHelper.ThrowArgumentOutOfRangeException(), and System.ThrowHelper.ThrowArgumentOutOfRangeException_PositionOutOfRange().