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

◆ IndexOf() [2/4]

static int System.SpanHelpers.IndexOf ( ref byte searchSpace,
int searchSpaceLength,
ref byte value,
int valueLength )
inlinestatic

Definition at line 67 of file SpanHelpers.cs.

68 {
69 if (valueLength == 0)
70 {
71 return 0;
72 }
73 byte value2 = value;
74 ref byte second = ref Unsafe.Add(ref value, 1);
75 int num = valueLength - 1;
76 int num2 = searchSpaceLength - num;
77 int num3 = 0;
78 while (num2 > 0)
79 {
81 if (num4 == -1)
82 {
83 break;
84 }
85 num2 -= num4;
86 num3 += num4;
87 if (num2 <= 0)
88 {
89 break;
90 }
91 if (SequenceEqual(ref Unsafe.Add(ref searchSpace, num3 + 1), ref second, (nuint)num))
92 {
93 return num3;
94 }
95 num2--;
96 num3++;
97 }
98 return -1;
99 }
static int IndexOf(ref byte searchSpace, int searchSpaceLength, ref byte value, int valueLength)
static unsafe bool SequenceEqual(ref byte first, ref byte second, nuint length)

References System.SpanHelpers.IndexOf(), System.SpanHelpers.SequenceEqual(), and System.value.

Referenced by System.String.Contains(), System.StubHelpers.CSTRMarshaler.ConvertFixedToManaged(), System.StubHelpers.FixedWSTRMarshaler.ConvertToManaged(), System.String.IndexOf(), System.String.IndexOf(), System.SpanHelpers.IndexOf(), System.SpanHelpers.IndexOf(), System.MemoryExtensions.IndexOf(), System.SpanHelpers.IndexOf< T >(), System.Array.IndexOf< T >(), System.MemoryExtensions.IndexOf< T >(), System.MemoryExtensions.IndexOf< T >(), System.MemoryExtensions.IndexOf< T >(), System.MemoryExtensions.IndexOf< T >(), System.MemoryExtensions.IndexOfAny< T >(), System.String.Replace(), System.String.strlen(), and System.String.wcslen().