I have finally released the version 0.2 of the HelperLib library. If you’ are interested in using generics in your Delphi 2009 applications, you might actually be interested in taking a look at the library.
What can you find in HelperLib:
- Date and time manipulation. All packed nicely in records with overloaded operators and utility functions.
- Big numbers. The library includes support for BigInteger and BigCardinal data-types. Both types have overloaded operators, utility functions and etc goodness.
- “Type Support”. My equivalent to Generics.Defaults present in Delphi. I’ve chose to go my way because of the style the Generics.Defaults is written in and mostly because my version is extensible and supports more options.
- Collection classes like List, Dictionary, HashSet, Bag, LinkedList and more.
- All code is unit-tested to avoid most bugs.
The big difference between the Delphi’s implementation of generic collections and what is provided by HelperLib is that the control over the lifetime of the data stored in the collection is given to the “Type Support” classes rather than the collection itself. This primarily means that there is no object version of each collection class and there are no options like “OwnsObjects“. By default the “Type Support” that manages classes assumes that those must be freed upon collection destruction or clearing. Of course you can override that.
Anyway, take a look here for a full feature list. The download link is here.
Note: The code is hosted on Google Code and is BSD licensed.