using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace StardewModdingAPI.Framework.StateTracking.Comparers
{
/// Compares instances using .
/// The value type.
internal class EquatableComparer : IEqualityComparer where T : IEquatable
{
/*********
** Public methods
*********/
/// Determines whether the specified objects are equal.
/// true if the specified objects are equal; otherwise, false.
/// The first object to compare.
/// The second object to compare.
public bool Equals(T x, T y)
{
if (x == null)
return y == null;
return x.Equals(y);
}
/// Get a hash code for the specified object.
/// The value.
public int GetHashCode(T obj)
{
return RuntimeHelpers.GetHashCode(obj);
}
}
}