Rewrite this class, making the following improvements:
authorChris Lattner <sabre@nondot.org>
Sat, 19 Mar 2005 05:14:29 +0000 (05:14 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 19 Mar 2005 05:14:29 +0000 (05:14 +0000)
commit72af57f26c27176f3ed4858e59eb4017f819afe1
tree21fc6a3bc1ecb9234b3ba0784102b0dab707dd4c
parent5021b8c2d6fd91c973dfca2dd22c9edd7d90f6a8
Rewrite this class, making the following improvements:

  1. It now actually uses tarjan's algorithm, so it is a efficient inverse
     ackerman's function for union operations, not linear time.
  2. It now stores one copy of the data in the set instead of two.
  3. It now works for elements other than pointers.
  4. It now has a more STL-like interface that exposes iterators instead
     of internal implementation details.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20677 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/EquivalenceClasses.h