projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add a traits class for SmallPtrSet that allows us to stick things that are
[oota-llvm.git]
/
include
/
llvm
/
ADT
/
PriorityQueue.h
diff --git
a/include/llvm/ADT/PriorityQueue.h
b/include/llvm/ADT/PriorityQueue.h
index 1cff0f2a0ceeaf0ca062a8e6209e18cb944c72bd..a8809dc0b267629e77e66041efc0f24e85509528 100644
(file)
--- a/
include/llvm/ADT/PriorityQueue.h
+++ b/
include/llvm/ADT/PriorityQueue.h
@@
-20,7
+20,7
@@
namespace llvm {
/// PriorityQueue - This class behaves like std::priority_queue and
/// provides a few additional convenience functions.
/// PriorityQueue - This class behaves like std::priority_queue and
/// provides a few additional convenience functions.
-///
+///
template<class T,
class Sequence = std::vector<T>,
class Compare = std::less<typename Sequence::value_type> >
template<class T,
class Sequence = std::vector<T>,
class Compare = std::less<typename Sequence::value_type> >
@@
-51,7
+51,7
@@
public:
// Logarithmic-time heap bubble-up.
while (i != 0) {
typename Sequence::size_type parent = (i - 1) / 2;
// 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;
}
i = parent;
}
@@
-70,6
+70,12
@@
public:
void reheapify() {
std::make_heap(this->c.begin(), this->c.end(), this->comp);
}
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
};
} // End llvm namespace