コード例 #1
0
        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);
        }
コード例 #2
0
 public static Iterator <T> GetIterator <T>(UnsafeOrderedSet *set) where T : unmanaged
 {
     return(new Iterator <T>(set));
 }
コード例 #3
0
 public static bool Contains <T>(UnsafeOrderedSet *set, T item)
     where T : unmanaged, IComparable <T>
 {
     return(UnsafeOrderedCollection.Find <T>(&set->_collection, item) != null);
 }
コード例 #4
0
 public static void Remove <T>(UnsafeOrderedSet *set, T item)
     where T : unmanaged, IComparable <T>
 {
     UnsafeOrderedCollection.Remove <T>(&set->_collection, item);
 }
コード例 #5
0
 public static int Count(UnsafeOrderedSet *set)
 {
     return(UnsafeOrderedCollection.Count(&set->_collection));
 }
コード例 #6
0
 public Iterator(UnsafeOrderedSet *set)
 {
     _keyOffset = set->_collection.KeyOffset;
     _iterator  = new UnsafeOrderedCollection.Iterator(&set->_collection);
 }