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

◆ TryReadTo() [1/6]

bool System.Buffers.SequenceReader< T >.TryReadTo ( out ReadOnlySequence< T > sequence,
ReadOnlySpan< T > delimiter,
bool advancePastDelimiter = true )
inline

Definition at line 622 of file SequenceReader.cs.

623 {
624 if (delimiter.Length == 0)
625 {
626 sequence = default(ReadOnlySequence<T>);
627 return true;
628 }
629 SequenceReader<T> sequenceReader = this;
630 bool flag = false;
631 while (!End)
632 {
633 if (!TryReadTo(out sequence, delimiter[0], advancePastDelimiter: false))
634 {
635 this = sequenceReader;
636 return false;
637 }
638 if (delimiter.Length == 1)
639 {
640 if (advancePastDelimiter)
641 {
642 Advance(1L);
643 }
644 return true;
645 }
646 if (IsNext(delimiter))
647 {
648 if (flag)
649 {
650 sequence = sequenceReader.Sequence.Slice(sequenceReader.Consumed, Consumed - sequenceReader.Consumed);
651 }
652 if (advancePastDelimiter)
653 {
654 Advance(delimiter.Length);
655 }
656 return true;
657 }
658 Advance(1L);
659 flag = true;
660 }
661 this = sequenceReader;
662 sequence = default(ReadOnlySequence<T>);
663 return false;
664 }
bool IsNext(T next, bool advancePast=false)
bool TryReadTo(out ReadOnlySpan< T > span, T delimiter, bool advancePastDelimiter=true)

References System.Buffers.SequenceReader< T >.Advance(), System.Buffers.SequenceReader< T >.Consumed, System.Buffers.SequenceReader< T >.End, System.Buffers.SequenceReader< T >.IsNext(), System.L, System.ReadOnlySpan< T >.Length, System.Buffers.SequenceReader< T >.Sequence, and System.Buffers.SequenceReader< T >.TryReadTo().