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

◆ EndsWith< T >() [2/2]

static bool System.MemoryExtensions.EndsWith< T > ( this Span< T > span,
ReadOnlySpan< T > value )
inlinestatic
Type Constraints
T :IEquatable<T> 

Definition at line 969 of file MemoryExtensions.cs.

970 {
971 int length = span.Length;
972 int length2 = value.Length;
973 if (RuntimeHelpers.IsBitwiseEquatable<T>())
974 {
975 nuint num = (nuint)Unsafe.SizeOf<T>();
976 if (length2 <= length)
977 {
978 return SpanHelpers.SequenceEqual(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref MemoryMarshal.GetReference(span), (nint)(uint)(length - length2))), ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)), (uint)length2 * num);
979 }
980 return false;
981 }
982 if (length2 <= length)
983 {
984 return SpanHelpers.SequenceEqual(ref Unsafe.Add(ref MemoryMarshal.GetReference(span), (nint)(uint)(length - length2)), ref MemoryMarshal.GetReference(value), length2);
985 }
986 return false;
987 }

References System.length, System.length2, System.SpanHelpers.SequenceEqual(), System.T, and System.value.