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

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

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

Definition at line 990 of file MemoryExtensions.cs.

991 {
992 int length = span.Length;
993 int length2 = value.Length;
994 if (RuntimeHelpers.IsBitwiseEquatable<T>())
995 {
996 nuint num = (nuint)Unsafe.SizeOf<T>();
997 if (length2 <= length)
998 {
999 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);
1000 }
1001 return false;
1002 }
1003 if (length2 <= length)
1004 {
1005 return SpanHelpers.SequenceEqual(ref Unsafe.Add(ref MemoryMarshal.GetReference(span), (nint)(uint)(length - length2)), ref MemoryMarshal.GetReference(value), length2);
1006 }
1007 return false;
1008 }

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