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

◆ IndexOf< T >() [1/2]

static int System.SpanHelpers.IndexOf< T > ( ref T searchSpace,
int searchSpaceLength,
ref T value,
int valueLength )
inlinestatic
Type Constraints
T :IEquatable<T> 

Definition at line 2948 of file SpanHelpers.cs.

2949 {
2950 if (valueLength == 0)
2951 {
2952 return 0;
2953 }
2954 T value2 = value;
2955 ref T second = ref Unsafe.Add(ref value, 1);
2956 int num = valueLength - 1;
2957 int num2 = 0;
2958 while (true)
2959 {
2960 int num3 = searchSpaceLength - num2 - num;
2961 if (num3 <= 0)
2962 {
2963 break;
2964 }
2966 if (num4 == -1)
2967 {
2968 break;
2969 }
2970 num2 += num4;
2971 if (SequenceEqual(ref Unsafe.Add(ref searchSpace, num2 + 1), ref second, num))
2972 {
2973 return num2;
2974 }
2975 num2++;
2976 }
2977 return -1;
2978 }
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.