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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk