Files
AetherBags/KamiToolKit/Classes/GenericUtil.cs
T
KnackAtNite 8db4ce6094
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 14:46:31 -05:00

19 lines
654 B
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace KamiToolKit.Classes;
internal static class GenericUtil {
public static bool AreEqual<T>(T? left, T? right) {
if (default(T) == null) return ReferenceEquals(left, right);
if (left == null || right == null) return left == null && right == null;
var leftSpan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.As<T, byte>(ref left), Unsafe.SizeOf<T>());
var rightSpan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.As<T, byte>(ref right), Unsafe.SizeOf<T>());
return leftSpan.SequenceEqual(rightSpan);
}
}