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

◆ TryCopyMultisegment()

readonly bool System.Buffers.SequenceReader< T >.TryCopyMultisegment ( Span< T > destination)
inlinepackage

Definition at line 278 of file SequenceReader.cs.

279 {
280 if (Remaining < destination.Length)
281 {
282 return false;
283 }
284 ReadOnlySpan<T> unreadSpan = UnreadSpan;
285 unreadSpan.CopyTo(destination);
286 int num = unreadSpan.Length;
287 SequencePosition position = _nextPosition;
288 ReadOnlyMemory<T> memory;
289 while (Sequence.TryGet(ref position, out memory))
290 {
291 if (memory.Length > 0)
292 {
293 ReadOnlySpan<T> span = memory.Span;
294 int num2 = Math.Min(span.Length, destination.Length - num);
295 span.Slice(0, num2).CopyTo(destination.Slice(num));
296 num += num2;
297 if (num >= destination.Length)
298 {
299 break;
300 }
301 }
302 }
303 return true;
304 }
ReadOnlySequence< T > Sequence
readonly ReadOnlySpan< T > UnreadSpan

References System.Buffers.SequenceReader< T >._nextPosition, System.ReadOnlySpan< T >.CopyTo(), System.destination, System.ReadOnlyMemory< T >.Length, System.ReadOnlySpan< T >.Length, System.Math.Min(), System.Buffers.SequenceReader< T >.Remaining, System.Buffers.SequenceReader< T >.Sequence, System.ReadOnlySpan< T >.Slice(), System.ReadOnlyMemory< T >.Span, and System.Buffers.SequenceReader< T >.UnreadSpan.

Referenced by System.Buffers.SequenceReader< T >.TryCopyTo().