public void IteratorTest()
        {
            var q = UnsafeSPSCQueue.Allocate <int>(10);

            // Wrap tail around
            SplitQueue(q);

            // Iterator should start from the head.
            int num = 0;

            foreach (int i in UnsafeSPSCQueue.GetEnumerator <int>(q))
            {
                Assert.AreEqual(num, i);
                num++;
            }

            // Iterated 10 items
            Assert.AreEqual(10, num);

            UnsafeSPSCQueue.Free(q);
        }
示例#2
0
 IEnumerator IEnumerable.GetEnumerator()
 {
     return(UnsafeSPSCQueue.GetEnumerator <T>(m_inner));
 }
示例#3
0
 public UnsafeSPSCQueue.Enumerator <T> GetEnumerator()
 {
     return(UnsafeSPSCQueue.GetEnumerator <T>(m_inner));
 }