Closed LaKraven closed 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.
Superceded by the Generics Redux project, which will resolve this issue (amongst many others)
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 ofTDictionary<T>
in Delphi, and the vague (somewhat non-functional) counterpart in FreePascal.The custom implementation for
TLKDictionary<T>
(working code nominal beingTLKHashMap
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)