The hash_map
and hash_set
headers aren't included in the C++ standard yet, but they're available as extensions with all the compilers I've used lately.
I'm wondering how much I can rely on these in real code without sacrificing portability. I'm working on tools projects that need to run on a host of architectures and compilers, including:
- Linux (x86_64, AMD/Intel): GCC, Intel, Portland Compilers
- AIX (Power): GCC, xlC
- Cray XT Series (AMD): GCC, Portland, Pathscale Compilers
- IBM Blue Gene Series (Power): xlC, GCC
- SGI Altix (Itanium): Intel compilers
- Windows: Not really a priority, but feel free to provide useful answers.
I realize some of these are pretty exotic, but that's not the point. What are your experiences with STL extensions across multiple platforms and compilers? Are they ubiquitous yet? Would you use them in your project?