internal AtDequeuEnumerable(LLQueue <T> queue) { SinglyLinkedNode <T> head; SinglyLinkedNode <T> tail; while (Interlocked.CompareExchange(ref queue._head, tail = queue._tail, head = queue._head) != head) { ; } _start = head; _end = tail; }
internal Enumerator(LLQueue <T> queue) { _node = (_queue = queue)._head; }
internal DequeuEnumerator(LLQueue <T> queue) { _queue = queue; }
internal DequeuEnumerable(LLQueue <T> queue) { _queue = queue; }