C++0x is introducing unordered_set, which is available in boost and many other places. What I understand is that unordered_set is hash table with O(1) lookup complexity. On the other hand, set is nothing but a tree with log(n) lookup complexity.
Why on earth would anyone use set instead of unordered_set? I.e., is there a need for set anymore?
When, for someone who wants to iterate over the items of the set, the order matters.