2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / class / System / System.Collections.Generic / ChangeLog
blob21a863d956b9cbcfebe7fb8c79f6632bd1c38be4
1 2010-04-06  Jb Evain  <jbevain@novell.com>
3         * SortedSet.cs: implement Count for SortedSubSet.
5 2010-04-05  Raja R Harinath  <harinath@hurrynot.org>
7         * SortedSet.cs (IsProperSubsetOf, IsSubsetOf): Implement using ...
8         (is_subset_of): ... new helper.
9         (IsProperSupersetOf, IsSupersetOf): Implement using ...
10         (is_superset_of): ... new helper.
11         (covers, nodups, overlaps): New helpers.
12         (SetEquals): Implement.
13         (Overlaps): Implement using overlaps().
14         (SymmetricExceptWith): Use nodups() helper.
16 2010-04-04  Raja R Harinath  <harinath@hurrynot.org>
18         * SortedSet.cs (CheckArgumentNotNull): New helper.
19         (IntersectWith, UnionWith): Implement.
20         (ExceptWith, SymmetricExceptWith): Likewise.
21         (SortedSubSet.IntersectWith): Implement override.
23         * RBTree.cs (do_remove): Ensure the node returned is suitable for
24         re-insertion.
26 2010-04-02  Jb Evain  <jbevain@novell.com>
28         * SortedSet.cs: implement Mix and Max for subsets.
30 2010-04-02  Jb Evain  <jbevain@novell.com>
32         * SortedSet.cs: implement GetViewBetween.
34 2010-04-02  Jb Evain  <jbevain@novell.com>
36         * SortedSet.cs: optimize Reverse. Add a virtual TryAdd and TryRemove
37         to override in sub trees.
39 2010-04-02  Jb Evain  <jbevain@novell.com>
41         * SortedSet.cs: implement Min and Max.
43 2010-04-02  Jb Evain  <jbevain@novell.com>
45         * SortedSet.cs: implement RemoveWhere.
47 2010-04-02  Jb Evain  <jbevain@novell.com>
49         * SortedSet.cs: implement Reverse.
51 2010-04-01  Jb Evain  <jbevain@novell.com>
53         * SortedSet.cs: fix API.
55 2010-04-01  Jb Evain  <jbevain@novell.com>
57         * SortedSet.cs: add new SortedSet type in .net 4.0
59 2010-03-03  Miguel de Icaza  <miguel@novell.com>
61         * RBTree.cs: Make these serializable, should fix the serialization
62         across appdomains of SortedDictionaries
64 2010-03-11  Sebastien Pouliot  <sebastien@ximian.com>
66         * ISet.cs: Add NET_2_1 since this is part of SL4
68 2009-12-01  Jb Evain  <jbevain@novell.com>
70         * Stack.cs (Enumerator.Dispose): tag the enumerator as finished
71         upon Dispose.
73 2009-11-26  Marek Safar <marek.safar@gmail.com>
75         * LinkedList.cs: Allocate less.
77 2009-11-25  Jb Evain  <jbevain@novell.com>
79         * Queue.cs (Enqueue): deal with the case where the tail
80         is off the array when deciding to enlarge the capacity.
82 2009-11-25  Jb Evain  <jbevain@novell.com>
84         * Queue.cs (ICollection.CopyTo): fix typo, remove code duplication.
86 2009-11-02  Miguel de Icaza  <miguel@novell.com>
88         * ISet.cs: Added new interface.
90 2009-10-20  Marek Safar <marek.safar@gmail.com>
92         * SortedList.cs, LinkedList.cs, Queue.cs, Stack.cs,
93         SortedDictionary.cs: Improve debugging experience.
95 2009-07-31  Raja R Harinath  <harinath@hurrynot.org>
97         * RBTree.cs (NodeEnumerator.check_current): New helper.
98         (NodeEnumerator.Current): Don't check invariants.
99         * SortedDictionary.cs (Enumerator.Current): Likewise.
100         (ValueCollection.Enumerator.Current): Likewise.
101         (KeyCollection.Enumerator.Current): Likewise.
103 2009-07-26  Miguel de Icaza  <miguel@novell.com>
105         * Stack.cs: Check arguments.
107 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
109         * SortedList.cs: the IComparar.Compare arguments were reversed.
110         Fixes bug #521750. Patch by Kevin Fitzgerald.
112 2009-05-10  Andy Hume  <andyhume32@yahoo.co.uk>
114         * LinkedList.cs: Add null check. Fixes #481621.
116 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
118         * SortedList.cs: Add version checking to the Key/Value enumerators +
119         implement support for Reset (). Fixes #483985.
121 2009-05-06  Pia Eriksson  <pe@hallerud.se>
123         * SortedList.cs: Handle Count == 0 in CopyTo correcly
124         * SortedDictionary.cs: Handle Count == 0 in CopyTo correcly
126 2007-11-15  Roei Erez  <roeie@mainsoft.com>
128         * Stack.cs: Performance improvement in the case where the stack is popped
129         until empty. Changed the condition for resizing the array, and instead of
130         check for zero size, check if the inner array is null.
132 2007-11-15  Jb Evain  <jbevain@novell.com>
134         * LinkedList.cs: ifdef out manually the Serialization part of the
135         LinkedList.Enumerator. As it is a struct, the field SerializationInfo
136         have to be assigned in the default constructor, and the tuner cannot
137         remove that. Fixes #341938 for real.
139 2007-10-09  Raja R Harinath  <rharinath@novell.com>
141         * RBTree.cs (get_Item, do_remove): Remove redundant code.
143 2007-08-20  Jb Evain  <jbevain@novell.com>
145         * SortedList.cs: don't crash in ListKeys and ListValues
146         when CopyTo targets an empty array, and that the
147         sorted list is empty. Fixes #82492.
149 2007-05-08  Raja R Harinath  <rharinath@novell.com>
151         Avoid unnecessary allocation on indexer access
152         * SortedDictionary.cs (NodeHelper): Rename from NodeComparer.
153         (NodeHelper.CreateNode): New.
154         (Item.set): Move responsibility of creating new nodes to
155         RBTree.Intern.
156         * RBTree.cs (INodeHelper): Rename from INodeComparer.
157         (INodeHelper.CreateNode): New.
158         (Intern): Use it to create a new node if no node is passed in.
160 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
162         * RBTree.cs: for TARGET_JVM used Thread Local Storage 
163         istead Thread-Relative Static Fields 
165 2007-05-02  Raja R Harinath  <rharinath@novell.com>
167         * RBTree.cs (Enumerator.Current): Remove nullref.
169         * SortedDictionary.cs (ICollection.Contains): Use EqualityComparer
170         for comparing the value field.
172         * RBTree.cs (do_remove): Remove some redundant assignments/checks.
173         (NodeEnumerator): Simplify.  Keep track of a list of
174         right-pennants that need to be traversed next, rather than
175         comparing parent pointers.
177 2007-05-02  Raja R Harinath  <harinath@gmail.com>
179         Make add and remove operations O(log n).
180         * SortedDictionary.cs: Rewrite to use the red-black tree
181         implementation from RBTree.cs.
182         * RBTree.cs: Some more refactoring.  Rename Insert() to Intern(),
183         and modify semantics slightly.  Replace Contains() with Lookup().
185 2007-04-30  Raja R Harinath  <rharinath@novell.com>
187         * RBTree.cs: Refactor to reduce generics code.
189 2007-04-30  Raja R Harinath  <harinath@gmail.com>
191         * RBTree.cs: New red-black tree implementation for use with
192         SortedDictionary.
194 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
196         * Queue.cs: Fixed binary serialization, based on patch provided by
197         Lionel Cuir. Fixes TrimExcess to use SetCapacity, before it was not 
198         updating _head which could lead to IndexOutOfRangeException.
199         * Stack.cs: Fixed binary serialization, based on patch provided by
200         Lionel Cuir. In Pop, clear entry from array to help GC.
202 2007-03-27  Alan McGovern <alan.mcgovern@gmail.com>
204         * Queue.cs: Removed wrong call to version++
205         * Stack.cs: Removed wrong call to version++
207 2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
209         * SortedList.cs: Count property, indexer and Clear method should not 
210         be virtual. Removed unnecessary explicit interface implementation of
211          Add (TKey, TValue) and Remove (TKey, TValue).
212         * Queue.cs: Marked Enumerator as Serializable.
213         * Stack.cs: Marked Stack <T> and Enumerator as serializable.
215 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
217         * Stack.cs: TARGET_JVM
219 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
221         * SortedDictionary.cs : new file. The original code is mostly
222           from Kazuki Oikawa.
224 2006-03-11  Miguel de Icaza  <miguel@novell.com>
226         * Queue.cs: Flag as serializable.
228         * LinkedList.cs (OnDeserialization): Fix signature. 
230         * SortedList.cs: Implement explicitly a few methods that were
231         flagged by corcompare. 
233 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
235         * SortedList.cs Queue.cs Stack.cs: Implement TrimExcess methods.
236         
237         * SortedList.cs: Fix build.
239         * Stack.cs SortedList.cs LinkedList.cs: Update to net 2.0 RTM.
241 2005-11-09  Zoltan Varga  <vargaz@gmail.com>
243         * SortedList.cs: New file.
245 2005-09-04  David Waite  <mass@akuma.org>
247         * LinkedList.cs, LinkedListNode.cs: added implementation of LinkedList<T>
249 2005-08-08  Kamil Skalski  <nazgul@nemerle.org>
251         * Queue.cs, Stack.cs: remove implementation of ICollection<T>,
252         since it is no longer in b2 API
254 2005-06-20  David Waite  <mass@akuma.org>
256         * Collection.cs, ReadOnlyCollection.cs: removed as they are no longer in the b2 API
258 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
260         * Queue.cs, Stack.cs: moved from mscorlib.dll
262 2005-02-35  Carlos Alberto Cortez <calberto.cortez@gmail.com>
264         * Collections.cs: Changed the code inside IndexOf, for
265         the use of Array.IndexOf<>, to keep clean the code.
266         
267 2004-11-17  Carlos Alberto Cortez Guevara <carlos@unixmexico.org>
269         * Collections.cs: Avoid the call to Array.Clear () in RemoveItem (),
270         now we only assign the last element (the deleted one) to its default
271         value.
272         
273 2004-09-20  Gert Driesen <drieseng@users.sourceforge.net>
275         * ReadOnlyCollection.cs: Moved over from corlib
276         * Collection.cs: Moved over from corlib