Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

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

download

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

download

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

download

  • See the start page WikiStart for differences between 1.0 and 2.0