What is Tables?
The generic package Tables provides tables searched using string keys. The binary search is used for names of known length. It is also possible to search a table for names of unknown length, i.e. to parse a string using the table (Get). In this case the search time is near to logarithmic, but in the worst case can be linear (when the table contains tokens like “a”, “aa”, “aaa” and so on). The package is generic. The instantiation parameter is the type of the data tag associated with each table item. The table is initially empty. It is automatically enlarged as new items are added. Upon destruction the memory used by the table is reclaimed. Items in the table can be accessed either by their offsets (in alphabetical order) or by names. Text parsing is also supported. Table assignment makes deep copy.
As with all the other projects from Dmitry, this one is also extensively documented.