public static void Free(UnsafeOrderedSet *set) { if (set->_collection.Entries.Dynamic == 1) { UnsafeBuffer.Free(&set->_collection.Entries); } // clear memory *set = default; // free it Native.Free(set); }
public static Iterator <T> GetIterator <T>(UnsafeOrderedSet *set) where T : unmanaged { return(new Iterator <T>(set)); }
public static bool Contains <T>(UnsafeOrderedSet *set, T item) where T : unmanaged, IComparable <T> { return(UnsafeOrderedCollection.Find <T>(&set->_collection, item) != null); }
public static void Remove <T>(UnsafeOrderedSet *set, T item) where T : unmanaged, IComparable <T> { UnsafeOrderedCollection.Remove <T>(&set->_collection, item); }
public static int Count(UnsafeOrderedSet *set) { return(UnsafeOrderedCollection.Count(&set->_collection)); }
public Iterator(UnsafeOrderedSet *set) { _keyOffset = set->_collection.KeyOffset; _iterator = new UnsafeOrderedCollection.Iterator(&set->_collection); }