X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FADT%2FPriorityQueue.h;h=bf8a687081638fdbdc7daa535751ccae1bf1928a;hb=40dab1059e72d3af59f2523fa8a7d05f40dafca5;hp=1cff0f2a0ceeaf0ca062a8e6209e18cb944c72bd;hpb=3627e34486db088661bc7fb6c0dde6a18a543217;p=oota-llvm.git diff --git a/include/llvm/ADT/PriorityQueue.h b/include/llvm/ADT/PriorityQueue.h index 1cff0f2a0ce..bf8a6870816 100644 --- a/include/llvm/ADT/PriorityQueue.h +++ b/include/llvm/ADT/PriorityQueue.h @@ -14,13 +14,14 @@ #ifndef LLVM_ADT_PRIORITY_QUEUE_H #define LLVM_ADT_PRIORITY_QUEUE_H +#include #include namespace llvm { /// PriorityQueue - This class behaves like std::priority_queue and /// provides a few additional convenience functions. -/// +/// template, class Compare = std::less > @@ -51,7 +52,7 @@ public: // Logarithmic-time heap bubble-up. while (i != 0) { typename Sequence::size_type parent = (i - 1) / 2; - std::swap(this->c[i], this->c[parent]); + this->c[i] = this->c[parent]; i = parent; } @@ -70,6 +71,12 @@ public: void reheapify() { std::make_heap(this->c.begin(), this->c.end(), this->comp); } + + /// clear - Erase all elements from the queue. + /// + void clear() { + this->c.clear(); + } }; } // End llvm namespace