コード例 #1
0
        public void InvalidTypeTest()
        {
            var arr = UnsafeArray.Allocate <int>(10);

            Assert.Catch <AssertException>(() => { UnsafeArray.Set <float>(arr, 4, 20); });

            UnsafeArray.Free(arr);
        }
コード例 #2
0
 public T this[int index]
 {
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     get
     {
         return(UnsafeArray.Get <T>(m_inner, index));
     }
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     set
     {
         UnsafeArray.Set <T>(m_inner, index, value);
     }
 }
コード例 #3
0
        public void MutateTest()
        {
            var arr = UnsafeArray.Allocate <int>(10);

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

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

            UnsafeArray.Free(arr);
        }
コード例 #4
0
        public void IteratorTest()
        {
            var arr = UnsafeArray.Allocate <int>(10);

            unsafe
            {
                var itr = UnsafeArray.GetEnumerator <int>(arr);
                for (int i = 0; i < 10; i++)
                {
                    UnsafeArray.Set(arr, i, i * i);
                }

                int num = 0;
                foreach (int i in itr)
                {
                    Assert.AreEqual(num * num, i);
                    num++;
                }
            }

            UnsafeArray.Free(arr);
        }