The project is going forward slowly but surely. I am trying to fix the
bugs in the standard implementation, improve the specs, eliminate
inconsistencies fo the definitions/interface of different containers, etc.
The doc is no longer written in Word/Open Office, whatever. I have
changed to latex (pdflatex) and the looks have improved a lot.
The libraries compile under Macintosh (64 bits), Windows 7 (64 and 32
bits) and linux (64 and 32 bits)
Some pieces of advice from one library developer to another
1. Organize the collection better, the zip file shouldn't have files
in its root, it should be something like "libcontainer-1.0.0/" as the
root, put the version number in the directory name
2. Put your source files under src/ and headers in headers/
3. Split large files up, use directories per container if you want to
make it cleaner e.g. src/redblack/, src/hash/, ..., it also makes
builds faster/easier if the files are smaller (also makes working on
the library easier as you don't need to rebuild it all the time).
4. Split up your containers.h file, 41K is a bit excessive. If they
are truly unrelated containers consider a framework where people can
do something like "#include <containers/redblack.h>" to only include
the header text they need to.
5. Consider a *NIX/*BSD friendly install script to install into /usr/
local/lib and /usr/local/include/containers/
6. In your lcc makefile consider replacing "C:\lcc\include\" with a
variable like LCCDIR so that you can easily move it around
7. Split your testing file into files so that way people can test
just what they want [as the project gets bigger this may become
important for testing cycles].
8. Consider automating the testing from within your makefile
9. Consider a way through defines to enable/disable containers such
that they're not defined/tested in automated builds [e.g. if I don't
want to use the DictionaryContainer I can undef it and build the
library, put a #ifdef around the header data to speed up builds, etc].
10. The manual looks really nice
11. Might want to consider adding some benchmark code to the suite