On May 6, 2013, at 8:26 AM, david.hagood@gmail.com wrote:
One of the libraries I work with (libXML2) has a very useful concept called a string dictionary, and I am surprised this doesn't appear to be in either STL or Boost. Am I missing something, or is Boost missing something?
The basic idea is: Given you have a string and an instance of a dictionary, you can: 1) check if the string is already in the dictionary. 2) Add the string to the dictionary and return the dictionary entry (if the string is already present, return existing entry).
The dictionary entries contain a copy of the string. Entries may be compared for equality/inequality in O(1) time. The lifespan of the strings in the entry is managed by the entry.
Except for the O(1) part, this sounds to me like a:
std::map