My application is having memory problems, including copying lots of strings about, using the same strings as keys in lots of hashtables, etc. I'm looking for a base class for my strings that makes this very efficient.

I'm hoping for:

  • String interning (multiple strings of the same value use the same memory),
  • copy-on-write (I think this comes for free in nearly all std::string implementations),
  • something with ropes would be a bonus (for O(1)-ish concatenation).

My platform is g++ on Linux (but that is unlikely to matter).

Do you know of such a library?

Edit
Report