コード例 #1
0
        public void CopyToTest()
        {
            var q = UnsafeSPSCQueue.Allocate <int>(10);

            SplitQueue(q);

            var arr = UnsafeSPSCQueue.ToArray <int>(q);

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(i, arr[i]);
            }
        }
コード例 #2
0
        public void CopyTo(T[] array, int arrayIndex)
        {
            if (array == null)
            {
                throw new ArgumentNullException(nameof(array));
            }

            if ((uint)arrayIndex > array.Length)
            {
                throw new ArgumentOutOfRangeException(nameof(arrayIndex));
            }

            if (array.Length - arrayIndex < Count)
            {
                throw new ArgumentException("Insufficient space in the target location to copy the information.");
            }

            if (array.Length == 0)
            {
                return;
            }

            UnsafeSPSCQueue.ToArray <T>(m_inner).CopyTo(array, arrayIndex);
        }
コード例 #3
0
 public T[] ToArray()
 {
     return(UnsafeSPSCQueue.ToArray <T>(m_inner));
 }