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

◆ TryReadToAnyInternal()

bool System.Buffers.SequenceReader< T >.TryReadToAnyInternal ( out ReadOnlySequence< T > sequence,
ReadOnlySpan< T > delimiters,
bool advancePastDelimiter,
int skip = 0 )
inlineprivate

Definition at line 566 of file SequenceReader.cs.

567 {
568 SequenceReader<T> sequenceReader = this;
569 if (skip > 0)
570 {
571 Advance(skip);
572 }
573 ReadOnlySpan<T> span = UnreadSpan;
574 while (!End)
575 {
576 int num = ((delimiters.Length == 2) ? span.IndexOfAny(delimiters[0], delimiters[1]) : span.IndexOfAny(delimiters));
577 if (num != -1)
578 {
579 if (num > 0)
580 {
582 }
583 sequence = Sequence.Slice(sequenceReader.Position, Position);
584 if (advancePastDelimiter)
585 {
586 Advance(1L);
587 }
588 return true;
589 }
590 Advance(span.Length);
591 span = CurrentSpan;
592 }
593 this = sequenceReader;
594 sequence = default(ReadOnlySequence<T>);
595 return false;
596 }
ReadOnlySequence< T > Sequence
readonly ReadOnlySpan< T > UnreadSpan
void AdvanceCurrentSpan(long count)

References System.Buffers.SequenceReader< T >.Advance(), System.Buffers.SequenceReader< T >.AdvanceCurrentSpan(), System.Buffers.SequenceReader< T >.CurrentSpan, System.Buffers.SequenceReader< T >.End, System.L, System.ReadOnlySpan< T >.Length, System.Buffers.SequenceReader< T >.Position, System.Buffers.SequenceReader< T >.Sequence, and System.Buffers.SequenceReader< T >.UnreadSpan.

Referenced by System.Buffers.SequenceReader< T >.TryAdvanceToAny(), System.Buffers.SequenceReader< T >.TryReadToAny(), and System.Buffers.SequenceReader< T >.TryReadToAnySlow().