Esempio n. 1
0
        public void RemoveTest()
        {
            var arr = UnsafeList.Allocate <int>(10);

            for (int i = 1; i <= 10; i++)
            {
                UnsafeList.Add(arr, i);
            }

            Assert.AreEqual(10, UnsafeList.GetCount(arr));

            UnsafeList.RemoveAt(arr, 4); //Remove number 5
            Assert.AreEqual(9, UnsafeList.GetCount(arr));

            int offs = 0;

            for (int i = 1; i < 10; i++)
            {
                if (i == 5)
                {
                    offs++;         //Skip previously removed 5
                }
                var num = UnsafeList.Get <int>(arr, i - 1);
                Assert.AreEqual(i + offs, num);
            }
        }
Esempio n. 2
0
 public bool MoveNext()
 {
     if (++_index <= size)
     {
         _current = _list.Get(_index);
         return(true);
     }
     return(false);
 }
Esempio n. 3
0
 public T this[int index]
 {
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     get
     {
         return(UnsafeList.Get <T>(m_inner, index));
     }
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     set
     {
         UnsafeList.Set(m_inner, index, value);
     }
 }
Esempio n. 4
0
        public void MutateTest()
        {
            var arr = UnsafeList.Allocate <int>(10);

            for (int i = 0; i < 10; i++)
            {
                UnsafeList.Add(arr, i);
            }

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(i, UnsafeList.Get <int>(arr, i));
            }

            UnsafeList.Free(arr);
        }