Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System / System.Collections.Generic / ChangeLog
1 2010-04-09  Raja R Harinath  <harinath@hurrynot.org>
2
3         Don't maintain state in the view
4         * SortedSet.cs (SortedSubSet.count): Remove.
5         (SortedSubSet..ctor): Move counting loop ...
6         (SortedSubSet.Count): ... here.
7         (SortedSubSet.TryAdd, SortedSubSet.TryRemove): Update to changes.
8         (SortedSubSet.GetMin, SortedSubSet.GetMax): Likewise.  Use bounds
9         to determine if the view is empty, rather than the count.
10
11 2010-04-07  Raja R Harinath  <harinath@hurrynot.org>
12
13         Enable set comparision operations on views, and improve performance
14         * RBTree.cs (Bound): New.  Returns the greatest lower bound and
15         least upper bound of the given key.
16         (GetSuffixEnumerator): New.  Returns an enumerator that starts at
17         the given key.
18         (NodeEnumerator): Provide suffix enumerator functionality.
19         * SortedSet.cs (GetEnumerator): Delegate to ...
20         (TryGetEnumerator): ... this.  New virtual function.
21         (Enumerator): Provide subset enumeration using RBTree's suffix enumerators.
22         (SortedSubSet.count): New.
23         (SortedSubSet.GetCount): Use it.
24         (SortedSubSet.TryAdd, SortedSubSet.TryRemove): Update count.
25         (SortedSubSet.GetMin, SortedSubSet.GetMax): Use RBTree.Bound().
26         (SortedSubSet.GetEnumerator): Remove.
27         (SortedSubSet.TryGetEnumerator): New.  Use ranged enumerators.
28
29 2010-04-06  Jb Evain  <jbevain@novell.com>
30
31         * SortedSet.cs: implement Count for SortedSubSet.
32
33 2010-04-05  Raja R Harinath  <harinath@hurrynot.org>
34
35         * SortedSet.cs (IsProperSubsetOf, IsSubsetOf): Implement using ...
36         (is_subset_of): ... new helper.
37         (IsProperSupersetOf, IsSupersetOf): Implement using ...
38         (is_superset_of): ... new helper.
39         (covers, nodups, overlaps): New helpers.
40         (SetEquals): Implement.
41         (Overlaps): Implement using overlaps().
42         (SymmetricExceptWith): Use nodups() helper.
43
44 2010-04-04  Raja R Harinath  <harinath@hurrynot.org>
45
46         * SortedSet.cs (CheckArgumentNotNull): New helper.
47         (IntersectWith, UnionWith): Implement.
48         (ExceptWith, SymmetricExceptWith): Likewise.
49         (SortedSubSet.IntersectWith): Implement override.
50
51         * RBTree.cs (do_remove): Ensure the node returned is suitable for
52         re-insertion.
53
54 2010-04-02  Jb Evain  <jbevain@novell.com>
55
56         * SortedSet.cs: implement Mix and Max for subsets.
57
58 2010-04-02  Jb Evain  <jbevain@novell.com>
59
60         * SortedSet.cs: implement GetViewBetween.
61
62 2010-04-02  Jb Evain  <jbevain@novell.com>
63
64         * SortedSet.cs: optimize Reverse. Add a virtual TryAdd and TryRemove
65         to override in sub trees.
66
67 2010-04-02  Jb Evain  <jbevain@novell.com>
68
69         * SortedSet.cs: implement Min and Max.
70
71 2010-04-02  Jb Evain  <jbevain@novell.com>
72
73         * SortedSet.cs: implement RemoveWhere.
74
75 2010-04-02  Jb Evain  <jbevain@novell.com>
76
77         * SortedSet.cs: implement Reverse.
78
79 2010-04-01  Jb Evain  <jbevain@novell.com>
80
81         * SortedSet.cs: fix API.
82
83 2010-04-01  Jb Evain  <jbevain@novell.com>
84
85         * SortedSet.cs: add new SortedSet type in .net 4.0
86
87 2010-03-03  Miguel de Icaza  <miguel@novell.com>
88
89         * RBTree.cs: Make these serializable, should fix the serialization
90         across appdomains of SortedDictionaries
91
92 2010-03-11  Sebastien Pouliot  <sebastien@ximian.com>
93
94         * ISet.cs: Add NET_2_1 since this is part of SL4
95
96 2009-12-01  Jb Evain  <jbevain@novell.com>
97
98         * Stack.cs (Enumerator.Dispose): tag the enumerator as finished
99         upon Dispose.
100
101 2009-11-26  Marek Safar <marek.safar@gmail.com>
102
103         * LinkedList.cs: Allocate less.
104
105 2009-11-25  Jb Evain  <jbevain@novell.com>
106
107         * Queue.cs (Enqueue): deal with the case where the tail
108         is off the array when deciding to enlarge the capacity.
109
110 2009-11-25  Jb Evain  <jbevain@novell.com>
111
112         * Queue.cs (ICollection.CopyTo): fix typo, remove code duplication.
113
114 2009-11-02  Miguel de Icaza  <miguel@novell.com>
115
116         * ISet.cs: Added new interface.
117
118 2009-10-20  Marek Safar <marek.safar@gmail.com>
119
120         * SortedList.cs, LinkedList.cs, Queue.cs, Stack.cs,
121         SortedDictionary.cs: Improve debugging experience.
122
123 2009-07-31  Raja R Harinath  <harinath@hurrynot.org>
124
125         * RBTree.cs (NodeEnumerator.check_current): New helper.
126         (NodeEnumerator.Current): Don't check invariants.
127         * SortedDictionary.cs (Enumerator.Current): Likewise.
128         (ValueCollection.Enumerator.Current): Likewise.
129         (KeyCollection.Enumerator.Current): Likewise.
130
131 2009-07-26  Miguel de Icaza  <miguel@novell.com>
132
133         * Stack.cs: Check arguments.
134
135 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
136
137         * SortedList.cs: the IComparar.Compare arguments were reversed.
138         Fixes bug #521750. Patch by Kevin Fitzgerald.
139
140 2009-05-10  Andy Hume  <andyhume32@yahoo.co.uk>
141
142         * LinkedList.cs: Add null check. Fixes #481621.
143
144 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
145
146         * SortedList.cs: Add version checking to the Key/Value enumerators +
147         implement support for Reset (). Fixes #483985.
148
149 2009-05-06  Pia Eriksson  <pe@hallerud.se>
150
151         * SortedList.cs: Handle Count == 0 in CopyTo correcly
152         * SortedDictionary.cs: Handle Count == 0 in CopyTo correcly
153
154 2007-11-15  Roei Erez  <roeie@mainsoft.com>
155
156         * Stack.cs: Performance improvement in the case where the stack is popped
157         until empty. Changed the condition for resizing the array, and instead of
158         check for zero size, check if the inner array is null.
159
160 2007-11-15  Jb Evain  <jbevain@novell.com>
161
162         * LinkedList.cs: ifdef out manually the Serialization part of the
163         LinkedList.Enumerator. As it is a struct, the field SerializationInfo
164         have to be assigned in the default constructor, and the tuner cannot
165         remove that. Fixes #341938 for real.
166
167 2007-10-09  Raja R Harinath  <rharinath@novell.com>
168
169         * RBTree.cs (get_Item, do_remove): Remove redundant code.
170
171 2007-08-20  Jb Evain  <jbevain@novell.com>
172
173         * SortedList.cs: don't crash in ListKeys and ListValues
174         when CopyTo targets an empty array, and that the
175         sorted list is empty. Fixes #82492.
176
177 2007-05-08  Raja R Harinath  <rharinath@novell.com>
178
179         Avoid unnecessary allocation on indexer access
180         * SortedDictionary.cs (NodeHelper): Rename from NodeComparer.
181         (NodeHelper.CreateNode): New.
182         (Item.set): Move responsibility of creating new nodes to
183         RBTree.Intern.
184         * RBTree.cs (INodeHelper): Rename from INodeComparer.
185         (INodeHelper.CreateNode): New.
186         (Intern): Use it to create a new node if no node is passed in.
187
188 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
189
190         * RBTree.cs: for TARGET_JVM used Thread Local Storage 
191         istead Thread-Relative Static Fields 
192
193 2007-05-02  Raja R Harinath  <rharinath@novell.com>
194
195         * RBTree.cs (Enumerator.Current): Remove nullref.
196
197         * SortedDictionary.cs (ICollection.Contains): Use EqualityComparer
198         for comparing the value field.
199
200         * RBTree.cs (do_remove): Remove some redundant assignments/checks.
201         (NodeEnumerator): Simplify.  Keep track of a list of
202         right-pennants that need to be traversed next, rather than
203         comparing parent pointers.
204
205 2007-05-02  Raja R Harinath  <harinath@gmail.com>
206
207         Make add and remove operations O(log n).
208         * SortedDictionary.cs: Rewrite to use the red-black tree
209         implementation from RBTree.cs.
210         * RBTree.cs: Some more refactoring.  Rename Insert() to Intern(),
211         and modify semantics slightly.  Replace Contains() with Lookup().
212
213 2007-04-30  Raja R Harinath  <rharinath@novell.com>
214
215         * RBTree.cs: Refactor to reduce generics code.
216
217 2007-04-30  Raja R Harinath  <harinath@gmail.com>
218
219         * RBTree.cs: New red-black tree implementation for use with
220         SortedDictionary.
221
222 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
223
224         * Queue.cs: Fixed binary serialization, based on patch provided by
225         Lionel Cuir. Fixes TrimExcess to use SetCapacity, before it was not 
226         updating _head which could lead to IndexOutOfRangeException.
227         * Stack.cs: Fixed binary serialization, based on patch provided by
228         Lionel Cuir. In Pop, clear entry from array to help GC.
229
230 2007-03-27  Alan McGovern <alan.mcgovern@gmail.com>
231
232         * Queue.cs: Removed wrong call to version++
233         * Stack.cs: Removed wrong call to version++
234
235 2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
236
237         * SortedList.cs: Count property, indexer and Clear method should not 
238         be virtual. Removed unnecessary explicit interface implementation of
239          Add (TKey, TValue) and Remove (TKey, TValue).
240         * Queue.cs: Marked Enumerator as Serializable.
241         * Stack.cs: Marked Stack <T> and Enumerator as serializable.
242
243 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
244
245         * Stack.cs: TARGET_JVM
246
247 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
248
249         * SortedDictionary.cs : new file. The original code is mostly
250           from Kazuki Oikawa.
251
252 2006-03-11  Miguel de Icaza  <miguel@novell.com>
253
254         * Queue.cs: Flag as serializable.
255
256         * LinkedList.cs (OnDeserialization): Fix signature. 
257
258         * SortedList.cs: Implement explicitly a few methods that were
259         flagged by corcompare. 
260
261 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
262
263         * SortedList.cs Queue.cs Stack.cs: Implement TrimExcess methods.
264         
265         * SortedList.cs: Fix build.
266
267         * Stack.cs SortedList.cs LinkedList.cs: Update to net 2.0 RTM.
268
269 2005-11-09  Zoltan Varga  <vargaz@gmail.com>
270
271         * SortedList.cs: New file.
272
273 2005-09-04  David Waite  <mass@akuma.org>
274
275         * LinkedList.cs, LinkedListNode.cs: added implementation of LinkedList<T>
276
277 2005-08-08  Kamil Skalski  <nazgul@nemerle.org>
278
279         * Queue.cs, Stack.cs: remove implementation of ICollection<T>,
280         since it is no longer in b2 API
281
282 2005-06-20  David Waite  <mass@akuma.org>
283
284         * Collection.cs, ReadOnlyCollection.cs: removed as they are no longer in the b2 API
285
286 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
287
288         * Queue.cs, Stack.cs: moved from mscorlib.dll
289
290 2005-02-35  Carlos Alberto Cortez <calberto.cortez@gmail.com>
291
292         * Collections.cs: Changed the code inside IndexOf, for
293         the use of Array.IndexOf<>, to keep clean the code.
294         
295 2004-11-17  Carlos Alberto Cortez Guevara <carlos@unixmexico.org>
296
297         * Collections.cs: Avoid the call to Array.Clear () in RemoveItem (),
298         now we only assign the last element (the deleted one) to its default
299         value.
300         
301 2004-09-20  Gert Driesen <drieseng@users.sourceforge.net>
302
303         * ReadOnlyCollection.cs: Moved over from corlib
304         * Collection.cs: Moved over from corlib