24 lines
837 B
C#
24 lines
837 B
C#
using System.Collections;
|
|
|
|
namespace Polonium.DataStructures.PatchableItems;
|
|
|
|
public class PatchableHashSet<T> : IEnumerable<T>
|
|
{
|
|
public HashSet<T> Data { get; set; } = new();
|
|
public void Add(T item) => Data.Add(item);
|
|
public void Remove(T item) => Data.Remove(item);
|
|
public void Clear() => Data.Clear();
|
|
public bool Contains(T item) => Data.Contains(item);
|
|
public int Count => Data.Count;
|
|
|
|
|
|
public UpdateMethods UpdateMethod { get; set; } = UpdateMethods.Update;
|
|
public delegate void CustomUpdatedEventHandler(HashSet<T> set);
|
|
public event CustomUpdatedEventHandler CustomUpdated;
|
|
public void CustomUpdate(HashSet<T> set) => CustomUpdated?.Invoke(set);
|
|
|
|
public IEnumerator<T> GetEnumerator() => Data.GetEnumerator();
|
|
|
|
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
|
}
|