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

◆ CheckAndResizeBuffer()

void System.Buffers.ArrayBufferWriter< T >.CheckAndResizeBuffer ( int sizeHint)
inlineprivate

Definition at line 66 of file ArrayBufferWriter.cs.

67 {
68 if (sizeHint < 0)
69 {
70 throw new ArgumentException("sizeHint");
71 }
72 if (sizeHint == 0)
73 {
74 sizeHint = 1;
75 }
76 if (sizeHint <= FreeCapacity)
77 {
78 return;
79 }
80 int num = _buffer.Length;
81 int num2 = Math.Max(sizeHint, num);
82 if (num == 0)
83 {
84 num2 = Math.Max(num2, 256);
85 }
86 int num3 = num + num2;
87 if ((uint)num3 > 2147483647u)
88 {
89 uint num4 = (uint)(num - FreeCapacity + sizeHint);
90 if (num4 > 2147483591)
91 {
93 }
94 num3 = 2147483591;
95 }
96 Array.Resize(ref _buffer, num3);
97 }
static void ThrowOutOfMemoryException(uint capacity)

References System.Buffers.ArrayBufferWriter< T >._buffer, System.Buffers.ArrayBufferWriter< T >.FreeCapacity, System.Math.Max(), and System.Buffers.ArrayBufferWriter< T >.ThrowOutOfMemoryException().

Referenced by System.Buffers.ArrayBufferWriter< T >.GetMemory(), and System.Buffers.ArrayBufferWriter< T >.GetSpan().