Merge pull request #444 from knocte/xbuild_improvements
[mono.git] / mcs / class / System / System.Collections.Generic / ChangeLog
index 9b4d4d01bccba25e022a0cf6c092d91d8e2645f5..75074d15d433ad68b2f4100661a5991680c22b21 100644 (file)
@@ -1,3 +1,81 @@
+2010-04-09  Raja R Harinath  <harinath@hurrynot.org>
+
+       Don't maintain state in the view
+       * SortedSet.cs (SortedSubSet.count): Remove.
+       (SortedSubSet..ctor): Move counting loop ...
+       (SortedSubSet.Count): ... here.
+       (SortedSubSet.TryAdd, SortedSubSet.TryRemove): Update to changes.
+       (SortedSubSet.GetMin, SortedSubSet.GetMax): Likewise.  Use bounds
+       to determine if the view is empty, rather than the count.
+
+2010-04-07  Raja R Harinath  <harinath@hurrynot.org>
+
+       Enable set comparision operations on views, and improve performance
+       * RBTree.cs (Bound): New.  Returns the greatest lower bound and
+       least upper bound of the given key.
+       (GetSuffixEnumerator): New.  Returns an enumerator that starts at
+       the given key.
+       (NodeEnumerator): Provide suffix enumerator functionality.
+       * SortedSet.cs (GetEnumerator): Delegate to ...
+       (TryGetEnumerator): ... this.  New virtual function.
+       (Enumerator): Provide subset enumeration using RBTree's suffix enumerators.
+       (SortedSubSet.count): New.
+       (SortedSubSet.GetCount): Use it.
+       (SortedSubSet.TryAdd, SortedSubSet.TryRemove): Update count.
+       (SortedSubSet.GetMin, SortedSubSet.GetMax): Use RBTree.Bound().
+       (SortedSubSet.GetEnumerator): Remove.
+       (SortedSubSet.TryGetEnumerator): New.  Use ranged enumerators.
+
+2010-04-06  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement Count for SortedSubSet.
+
+2010-04-05  Raja R Harinath  <harinath@hurrynot.org>
+
+       * SortedSet.cs (IsProperSubsetOf, IsSubsetOf): Implement using ...
+       (is_subset_of): ... new helper.
+       (IsProperSupersetOf, IsSupersetOf): Implement using ...
+       (is_superset_of): ... new helper.
+       (covers, nodups, overlaps): New helpers.
+       (SetEquals): Implement.
+       (Overlaps): Implement using overlaps().
+       (SymmetricExceptWith): Use nodups() helper.
+
+2010-04-04  Raja R Harinath  <harinath@hurrynot.org>
+
+       * SortedSet.cs (CheckArgumentNotNull): New helper.
+       (IntersectWith, UnionWith): Implement.
+       (ExceptWith, SymmetricExceptWith): Likewise.
+       (SortedSubSet.IntersectWith): Implement override.
+
+       * RBTree.cs (do_remove): Ensure the node returned is suitable for
+       re-insertion.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement Mix and Max for subsets.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement GetViewBetween.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: optimize Reverse. Add a virtual TryAdd and TryRemove
+       to override in sub trees.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement Min and Max.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement RemoveWhere.
+
+2010-04-02  Jb Evain  <jbevain@novell.com>
+
+       * SortedSet.cs: implement Reverse.
+
 2010-04-01  Jb Evain  <jbevain@novell.com>
 
        * SortedSet.cs: fix API.