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

◆ IndexOf() [4/4]

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

Definition at line 1621 of file SpanHelpers.cs.

1622 {
1623 if (valueLength == 0)
1624 {
1625 return 0;
1626 }
1627 char value2 = value;
1628 ref char source = ref Unsafe.Add(ref value, 1);
1629 int num = valueLength - 1;
1630 int num2 = searchSpaceLength - num;
1631 int num3 = 0;
1632 while (num2 > 0)
1633 {
1635 if (num4 == -1)
1636 {
1637 break;
1638 }
1639 num2 -= num4;
1640 num3 += num4;
1641 if (num2 <= 0)
1642 {
1643 break;
1644 }
1645 if (SequenceEqual(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, num3 + 1)), ref Unsafe.As<char, byte>(ref source), (nuint)(uint)num * (nuint)2u))
1646 {
1647 return num3;
1648 }
1649 num2--;
1650 num3++;
1651 }
1652 return -1;
1653 }
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(), System.source, and System.value.