LaKraven / LKSL

LaKraven Studios Standard Library
http://otapi.com
Other
51 stars 15 forks source link

Generic Collections - Complete custom version of TDictionary<T> for Delphi and FreePascal #80

Closed LaKraven closed 9 years ago

LaKraven commented 9 years ago

This is a particularly important issue to fix (critical, even).

At present, the version of TLKDictionary<T> implemented in the LKSL is just a thin layer sitting on top of TDictionary<T> in Delphi, and the vague (somewhat non-functional) counterpart in FreePascal.

The custom implementation for TLKDictionary<T> (working code nominal being TLKHashMap at the moment) will work identically on both Delphi and FreePascal, as well as providing performance enhancements over the RTL implementations.

Since TLKDictionary is used throughout the LKSL, the completion of this task is fundamental to the progress of the LKSL (particularly on FreePascal)

LaKraven commented 9 years ago

Just as with TLKListBase (see Issue #87), TLKDictionary should instantiate a defined descendant of a base Bucket Management class to provide alternative Hashing solutions (such as Cuckoo Hashing, Hopscotch Hashing, Separate Chaining and other Open Addressing solutions).

This should be considered fundamental to the design process for TLKDictionary to cater for all possible use-cases.

LaKraven commented 9 years ago

Superceded by the Generics Redux project, which will resolve this issue (amongst many others)