1 #ifndef __ZGEN_BESTFIRST_SEARCH_SPAN_TYPES_H__
2 #define __ZGEN_BESTFIRST_SEARCH_SPAN_TYPES_H__
4 #include <boost/unordered_set.hpp>
5 #include <boost/heap/priority_queue.hpp>
12 typedef boost::unordered_set<Span *, SpanPtrHash, SpanPtrEqual>
SpanSet;
14 typedef boost::heap::priority_queue<Span *, boost::heap::compare<SpanPtrLess> >
SpanMaxHeap;
16 typedef boost::heap::priority_queue<Span *, boost::heap::compare<SpanPtrGreater> >
SpanMinHeap;
29 if (SpanMinHeap::size() == K) {
30 if (span->
score > SpanMinHeap::top()->score) {
32 SpanMinHeap::push(span);
36 SpanMinHeap::push(span);
47 #endif // end for __ZGEN_BESTFIRST_SEARCH_SPAN_TYPES_H__
boost::unordered_set< Span *, SpanPtrHash, SpanPtrEqual > SpanSet
Definition: span_types.h:12
void init(int volumn)
Definition: span_types.h:23
SpanKMaxHeap()
Definition: span_types.h:20
boost::heap::priority_queue< Span *, boost::heap::compare< SpanPtrLess > > SpanMaxHeap
Definition: span_types.h:14
bool insert(Span *span)
Definition: span_types.h:28
Definition: span_types.h:18
floatval_t score
Definition: span.h:84
boost::heap::priority_queue< Span *, boost::heap::compare< SpanPtrGreater > > SpanMinHeap
Definition: span_types.h:16