4
using System.Collections.Generic;
6
internal class ReferenceQueue<T>
8
private Queue<Reference<T>> queue;
10
public ReferenceQueue ()
12
this.queue = new Queue<Reference<T>> ();
15
internal bool Add (Reference<T> t)
17
Queue<Reference<T>> queue = this.queue;
19
if (this.queue.Contains (t)) {
22
this.queue.Enqueue (t);
27
public Reference<T> Poll ()
29
Queue<Reference<T>> queue = this.queue;
31
if (this.queue.Count > 0) {
32
return this.queue.Dequeue ();