/// <summary> /// Retains only the elements in this set that are contained in the /// specified collection. /// </summary> /// <param name="collection"> /// The collection that defines the set of elements to be retained. /// </param> /// <returns> /// <see langword="true" /> if this set changed as a result of this /// operation. /// </returns> public override bool RetainAll(ICollection collection) { //Put data from C into a set so we can use the Contains() method. Set cSet = new HybridSet(collection); //We are going to build a set of elements to remove. Set removeSet = new HybridSet(); foreach (var o in this) { //If C does not contain O, then we need to remove O from our //set. We can't do this while iterating through our set, so //we put it into RemoveSet for later. if (!cSet.Contains(o)) { removeSet.Add(o); } } return(RemoveAll(removeSet)); }
public override void SetUp() { Set = new HybridSet (); SetForSetOps = new HybridSet (); }