Exemple #1
0
        public virtual void IntersectWith(IEnumerable <T> other)
        {
            CheckArgumentNotNull(other, "other");

            RBTree newtree = new RBTree(helper);

            foreach (T item in other)
            {
                var node = tree.Remove(item);
                if (node != null)
                {
                    newtree.Intern(item, node);
                }
            }
            tree = newtree;
        }
Exemple #2
0
 public void Dispose()
 {
     tree     = null;
     pennants = null;
 }
Exemple #3
0
 internal NodeEnumerator(RBTree tree, Stack <Node> init_pennants)
     : this(tree)
 {
     this.init_pennants = init_pennants;
 }
Exemple #4
0
 internal NodeEnumerator(RBTree tree)
     : this()
 {
     this.tree = tree;
     version   = tree.version;
 }
Exemple #5
0
 public SortedSet(IComparer <T> comparer)
 {
     this.helper = NodeHelper.GetHelper(comparer);
     this.tree   = new RBTree(this.helper);
 }