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

◆ BoundsCheck() [1/2]

void System.Buffers.ReadOnlySequence< T >.BoundsCheck ( in SequencePosition position,
bool positionIsNotNull )
inlineprivate

Definition at line 714 of file ReadOnlySequence.cs.

715 {
716 uint integer = (uint)position.GetInteger();
717 object startObject = _startObject;
718 object endObject = _endObject;
719 uint index = (uint)GetIndex(_startInteger);
720 uint index2 = (uint)GetIndex(_endInteger);
721 if (startObject == endObject)
722 {
723 if (!InRange(integer, index, index2))
724 {
726 }
727 return;
728 }
729 ulong start = (ulong)(((ReadOnlySequenceSegment<T>)startObject).RunningIndex + index);
730 long num = 0L;
731 if (positionIsNotNull)
732 {
733 num = ((ReadOnlySequenceSegment<T>)position.GetObject()).RunningIndex;
734 }
735 if (!InRange((ulong)(num + integer), start, (ulong)(((ReadOnlySequenceSegment<T>)endObject).RunningIndex + index2)))
736 {
738 }
739 }
static void ThrowArgumentOutOfRangeException_PositionOutOfRange()
static bool InRange(uint value, uint start, uint end)
static int GetIndex(int Integer)

References System.Buffers.ReadOnlySequence< T >._endInteger, System.Buffers.ReadOnlySequence< T >._endObject, System.Buffers.ReadOnlySequence< T >._startInteger, System.Buffers.ReadOnlySequence< T >._startObject, System.Buffers.ReadOnlySequence< T >.GetIndex(), System.index, System.index2, System.Buffers.ReadOnlySequence< T >.InRange(), System.L, System.start, and System.ThrowHelper.ThrowArgumentOutOfRangeException_PositionOutOfRange().

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