Topic: Why didn't STL hashed assoc containers mak


Author: clamage@taumet.eng.sun.com (Steve Clamage)
Date: 1996/10/22
Raw View
In article r8@news.icanect.net, feathers@icanect.net (Michael C. Feathers) writes:
>
>I read that hashed associative containers were proposed for the standard
>library.  Does anyone recall why they were defeated?  Did everyone just
>consider that log(n) access wasn't so bad compared to worst case linear time
>and thorny resizing behavior?

Hashed containers were not part of the original STL. You would have
to ask the authors (Alex Stepanov and Meng Lee) why that was the
case. I imagine that at some point hashed containers would have
been added. The version submitted to the C++ Committee did not have them.

A proposal to add hashed containers was presented to the C++
Committee after the point where the Committee had decided not to
adopt any new features. The proposal had support within the
Committee, and was rejected only because of timing. Its technical
merit was not addressed.

You never run out of good ideas. You have to decide at some point that
you are going to ship the product, and save further enhancements for
a later release. Otherwise, you will never ship the product. The Standard
was already a year behind the original schedule, and adopting the
hashed container proposal would have added another year. (The proposal
was nearly the size of the original STL proposal that was adopted in
March 1994. We are still today addressing problems in STL, some of
which were not discovered until fairly recently. It is unreasonable
to assume that the hash proposal was perfect in every way as presented.)
---
Steve Clamage, stephen.clamage@eng.sun.com




[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]