What are the specific differences between the original STL and those parts of it that ended up in the C++ Standard Library?
c++, stl
Solution
SGI STL stuff "missing" in the C++ standard includes
- `slist`
- `bit_vector`
- `hash_set`, `hash_map`, `hash_multiset`, `hash_multimap` and everything pertaining to hash functions
- `rope`
- `iota`
- `lexicographical_compare_3way`
- `random_sample` and `random_sample_n`
- the MonoidOperation and Trivial Iterator concepts
- a host of backward compat headers such as `algo.h`
... and I bet you can find a few more.
Problem
I'd like to know what the specific differences are between the STL as released by SGI and the ISO C++ standard library. Prompted by this question and not at all answered by this question. Some differences are obvious, such as the `slist` and `hash_set` classes that never made it into the standard. I'm also looking for more subtle differences, such as return value/parameter differences on methods, or different complexity requirements, or different iterator invalidation conditions.