>    Side remark: there's an unordered_map in C++ compilers that support the C++11 standard (all the major ones by now). In my experience, that has faster element lookup and assignment.

Indeed, I was aware of this, and I would have been interested in trying
it out, but I really do believe that it is too bleeding edge for a fairly
minor gain.

> Iteration can be much slower, though, since the typical implementation is a hash table that reserves a lot of space.

Ha, interesting. That could be a problem for our needs.