title: A map and set which uses contiguous memory and has a reserve function
body: <p>I use several maps and sets. The lack of contiguous memory, and high number of (de)allocations, is a performance bottleneck. I need a mainly STL-compatbile map and set class which can use a contiguous block of memory for internal objects (or multiple blocks).  It also needs to have a <code>reserve</code> function so that I can preallocate for expected sizes.</p>
  
  <p>Before I write my own I'd like to check what is available first. Is there something in Boost which does this? Does somebody know of an available implementation elsewhere?</p>
  
  <hr>
  
  <p>Intrusive collection types are not usable here as the same objects need to exist in several collections. As far as I know STL memory pools are per-type, not per instance (kind of, sort of not, many caveats).  These global pools are not efficient with respect to memory locality in mutli-cpu/core processing.</p>
  
  <p>Object pools don't work as the types will be shared between instance but their pool should not.</p>
  
  <p>In many cases a hash map may be an option.</p>