Boost logo

Boost :

Subject: Re: [boost] Am I missing something or is Boost: String dictionary?
From: Francois Duranleau (xiao.bai.xiong_at_[hidden])
Date: 2013-05-06 15:48:35

On Mon, May 6, 2013 at 11:26 AM, <david.hagood_at_[hidden]> 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.
> This really simplifies writing parsers and the like, and is such a useful
> concept that I'm really surprised not to see it in STL or Boost.

Look at Boost.Flyweight. There is even an example for strings.

François Duranleau

Boost list run by bdawes at, gregod at, cpdaniel at, john at