Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

305 lines
9.6 KiB
Plaintext

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.
2010-04-01 Jb Evain <jbevain@novell.com>
* SortedSet.cs: add new SortedSet type in .net 4.0
2010-03-03 Miguel de Icaza <miguel@novell.com>
* RBTree.cs: Make these serializable, should fix the serialization
across appdomains of SortedDictionaries
2010-03-11 Sebastien Pouliot <sebastien@ximian.com>
* ISet.cs: Add NET_2_1 since this is part of SL4
2009-12-01 Jb Evain <jbevain@novell.com>
* Stack.cs (Enumerator.Dispose): tag the enumerator as finished
upon Dispose.
2009-11-26 Marek Safar <marek.safar@gmail.com>
* LinkedList.cs: Allocate less.
2009-11-25 Jb Evain <jbevain@novell.com>
* Queue.cs (Enqueue): deal with the case where the tail
is off the array when deciding to enlarge the capacity.
2009-11-25 Jb Evain <jbevain@novell.com>
* Queue.cs (ICollection.CopyTo): fix typo, remove code duplication.
2009-11-02 Miguel de Icaza <miguel@novell.com>
* ISet.cs: Added new interface.
2009-10-20 Marek Safar <marek.safar@gmail.com>
* SortedList.cs, LinkedList.cs, Queue.cs, Stack.cs,
SortedDictionary.cs: Improve debugging experience.
2009-07-31 Raja R Harinath <harinath@hurrynot.org>
* RBTree.cs (NodeEnumerator.check_current): New helper.
(NodeEnumerator.Current): Don't check invariants.
* SortedDictionary.cs (Enumerator.Current): Likewise.
(ValueCollection.Enumerator.Current): Likewise.
(KeyCollection.Enumerator.Current): Likewise.
2009-07-26 Miguel de Icaza <miguel@novell.com>
* Stack.cs: Check arguments.
2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SortedList.cs: the IComparar.Compare arguments were reversed.
Fixes bug #521750. Patch by Kevin Fitzgerald.
2009-05-10 Andy Hume <andyhume32@yahoo.co.uk>
* LinkedList.cs: Add null check. Fixes #481621.
2009-03-11 Zoltan Varga <vargaz@gmail.com>
* SortedList.cs: Add version checking to the Key/Value enumerators +
implement support for Reset (). Fixes #483985.
2009-05-06 Pia Eriksson <pe@hallerud.se>
* SortedList.cs: Handle Count == 0 in CopyTo correcly
* SortedDictionary.cs: Handle Count == 0 in CopyTo correcly
2007-11-15 Roei Erez <roeie@mainsoft.com>
* Stack.cs: Performance improvement in the case where the stack is popped
until empty. Changed the condition for resizing the array, and instead of
check for zero size, check if the inner array is null.
2007-11-15 Jb Evain <jbevain@novell.com>
* LinkedList.cs: ifdef out manually the Serialization part of the
LinkedList.Enumerator. As it is a struct, the field SerializationInfo
have to be assigned in the default constructor, and the tuner cannot
remove that. Fixes #341938 for real.
2007-10-09 Raja R Harinath <rharinath@novell.com>
* RBTree.cs (get_Item, do_remove): Remove redundant code.
2007-08-20 Jb Evain <jbevain@novell.com>
* SortedList.cs: don't crash in ListKeys and ListValues
when CopyTo targets an empty array, and that the
sorted list is empty. Fixes #82492.
2007-05-08 Raja R Harinath <rharinath@novell.com>
Avoid unnecessary allocation on indexer access
* SortedDictionary.cs (NodeHelper): Rename from NodeComparer.
(NodeHelper.CreateNode): New.
(Item.set): Move responsibility of creating new nodes to
RBTree.Intern.
* RBTree.cs (INodeHelper): Rename from INodeComparer.
(INodeHelper.CreateNode): New.
(Intern): Use it to create a new node if no node is passed in.
2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
* RBTree.cs: for TARGET_JVM used Thread Local Storage
istead Thread-Relative Static Fields
2007-05-02 Raja R Harinath <rharinath@novell.com>
* RBTree.cs (Enumerator.Current): Remove nullref.
* SortedDictionary.cs (ICollection.Contains): Use EqualityComparer
for comparing the value field.
* RBTree.cs (do_remove): Remove some redundant assignments/checks.
(NodeEnumerator): Simplify. Keep track of a list of
right-pennants that need to be traversed next, rather than
comparing parent pointers.
2007-05-02 Raja R Harinath <harinath@gmail.com>
Make add and remove operations O(log n).
* SortedDictionary.cs: Rewrite to use the red-black tree
implementation from RBTree.cs.
* RBTree.cs: Some more refactoring. Rename Insert() to Intern(),
and modify semantics slightly. Replace Contains() with Lookup().
2007-04-30 Raja R Harinath <rharinath@novell.com>
* RBTree.cs: Refactor to reduce generics code.
2007-04-30 Raja R Harinath <harinath@gmail.com>
* RBTree.cs: New red-black tree implementation for use with
SortedDictionary.
2007-04-19 Gert Driesen <drieseng@users.sourceforge.net>
* Queue.cs: Fixed binary serialization, based on patch provided by
Lionel Cuir. Fixes TrimExcess to use SetCapacity, before it was not
updating _head which could lead to IndexOutOfRangeException.
* Stack.cs: Fixed binary serialization, based on patch provided by
Lionel Cuir. In Pop, clear entry from array to help GC.
2007-03-27 Alan McGovern <alan.mcgovern@gmail.com>
* Queue.cs: Removed wrong call to version++
* Stack.cs: Removed wrong call to version++
2006-09-30 Gert Driesen <drieseng@users.sourceforge.net>
* SortedList.cs: Count property, indexer and Clear method should not
be virtual. Removed unnecessary explicit interface implementation of
Add (TKey, TValue) and Remove (TKey, TValue).
* Queue.cs: Marked Enumerator as Serializable.
* Stack.cs: Marked Stack <T> and Enumerator as serializable.
2006-09-28 Andrew Skiba <andrews@mainsoft.com>
* Stack.cs: TARGET_JVM
2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
* SortedDictionary.cs : new file. The original code is mostly
from Kazuki Oikawa.
2006-03-11 Miguel de Icaza <miguel@novell.com>
* Queue.cs: Flag as serializable.
* LinkedList.cs (OnDeserialization): Fix signature.
* SortedList.cs: Implement explicitly a few methods that were
flagged by corcompare.
2005-11-10 Zoltan Varga <vargaz@gmail.com>
* SortedList.cs Queue.cs Stack.cs: Implement TrimExcess methods.
* SortedList.cs: Fix build.
* Stack.cs SortedList.cs LinkedList.cs: Update to net 2.0 RTM.
2005-11-09 Zoltan Varga <vargaz@gmail.com>
* SortedList.cs: New file.
2005-09-04 David Waite <mass@akuma.org>
* LinkedList.cs, LinkedListNode.cs: added implementation of LinkedList<T>
2005-08-08 Kamil Skalski <nazgul@nemerle.org>
* Queue.cs, Stack.cs: remove implementation of ICollection<T>,
since it is no longer in b2 API
2005-06-20 David Waite <mass@akuma.org>
* Collection.cs, ReadOnlyCollection.cs: removed as they are no longer in the b2 API
2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
* Queue.cs, Stack.cs: moved from mscorlib.dll
2005-02-35 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* Collections.cs: Changed the code inside IndexOf, for
the use of Array.IndexOf<>, to keep clean the code.
2004-11-17 Carlos Alberto Cortez Guevara <carlos@unixmexico.org>
* Collections.cs: Avoid the call to Array.Clear () in RemoveItem (),
now we only assign the last element (the deleted one) to its default
value.
2004-09-20 Gert Driesen <drieseng@users.sourceforge.net>
* ReadOnlyCollection.cs: Moved over from corlib
* Collection.cs: Moved over from corlib