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

◆ ClearWithReferences()

static void System.SpanHelpers.ClearWithReferences ( ref IntPtr ip,
nuint pointerSizeLength )
inlinestatic

Definition at line 2803 of file SpanHelpers.cs.

2804 {
2805 while (pointerSizeLength >= 8)
2806 {
2807 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -1) = default(IntPtr);
2808 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -2) = default(IntPtr);
2809 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -3) = default(IntPtr);
2810 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -4) = default(IntPtr);
2811 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -5) = default(IntPtr);
2812 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -6) = default(IntPtr);
2813 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -7) = default(IntPtr);
2814 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -8) = default(IntPtr);
2815 pointerSizeLength -= 8;
2816 }
2817 if (pointerSizeLength < 4)
2818 {
2819 if (pointerSizeLength < 2)
2820 {
2821 if (pointerSizeLength == 0)
2822 {
2823 return;
2824 }
2825 goto IL_012f;
2826 }
2827 }
2828 else
2829 {
2830 Unsafe.Add(ref ip, 2) = default(IntPtr);
2831 Unsafe.Add(ref ip, 3) = default(IntPtr);
2832 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -3) = default(IntPtr);
2833 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -2) = default(IntPtr);
2834 }
2835 Unsafe.Add(ref ip, 1) = default(IntPtr);
2836 Unsafe.Add(ref Unsafe.Add(ref ip, (nint)pointerSizeLength), -1) = default(IntPtr);
2837 goto IL_012f;
2838 IL_012f:
2839 ip = default(IntPtr);
2840 }

Referenced by System.Span< T >.Clear(), System.Array.Clear(), and System.Array.Clear().