Change Log for dcollections 2.0
This is a list of the changes for the 2.0 versions. I did not keep a detailed list of the 1.0 changes, sorry.
Version 2.0c
Bugs fixed
- #8 Add some simple datastructures
- #10 Look into changing add(V[]) to add(V[]...)
- (unlisted) ArrayList purge may purge more data than asked in certain cases.
- (unlisted) ArrayList may use stack data for storage when constructed with the (V[]...) version of the constructor.
Other changes
- All add/remove/etc. functions that take elements or containers of elements now no longer have versions with out parameters.
- Added trackLength function to replace those removed out parameters.
- All functions which were overloaded on V and V[] have been reduced to a single version which takes V[]... This allows one to simply pass in any number of elements to add without using an array literal (this also cuts down on unnecessary allocation).
- Added new container type Deque which is a list with random access and constant time prepend and append. Removing elements in the middle still is slow however. This is modeled after STL's deque container type. Result of bug #8.
- Renamed Iterators.d to util.d, since it's now accumulating things besides iterators (trackLength).
Version 2.0b
Bugs fixed
- #4 Errors on LinkList!Interface
- #5 dcollections doesn't compile with warnings enabled
- #6 ArrayList does not work with classes
- #7 ArrayList based on structures
Other changes
- All classes are now final, this allows better inlining
- All non-map classes can now accept initial elements in their constructors.
- length and opIndex are now in cursors, since it's trivial to add, and this allows more usage of cursors in algorithms.
- Updated to compile on dmd/phobos 2.048.
Version 2.0a
- See the start page WikiStart for differences between 1.0 and 2.0