// MIT License - Copyright (c) 2025 wallstop
// Full license text: https://github.com/wallstop/unity-helpers/blob/main/LICENSE
namespace WallstopStudios.UnityHelpers.Core.Helper
{
using System;
using System.Collections.Generic;
///
/// A comparer powered by a user-provided comparison function.
///
public sealed class FuncBasedComparer : IComparer
{
private readonly Func _comparer;
///
/// Creates a comparer from a comparison delegate.
///
public FuncBasedComparer(Func comparer)
{
_comparer = comparer ?? throw new ArgumentNullException(nameof(comparer));
}
///
/// Compares two values using the provided delegate.
///
public int Compare(T x, T y)
{
return _comparer(x, y);
}
}
}