20#ifndef REALM_PRI_QUEUE_H
21#define REALM_PRI_QUEUE_H
33 template <
typename T,
typename LT>
103 std::map<priority_t, std::deque<T>>
queue;
110 template <
typename T2,
typename LT2>
114 template <
typename T,
typename LT>
120 std::deque<T>>::const_iterator it = pq.
queue.begin();
121 it != pq.
queue.end(); ++it) {
122 os <<
" [" << -(it->first) <<
"]: ";
123 typename std::deque<T>::const_iterator it2 = it->second.begin();
124 assert(it2 != it->second.end());
125 os << ((
const void *)(*it2));
126 while((++it2) != it->second.end())
127 os <<
", " << ((
const void *)(*it2));
137#include "realm/pri_queue.inl"
Definition pri_queue.h:76
virtual bool item_available(T item, priority_t item_priority)=0
Definition pri_queue.h:34
void remove_subscription(NotificationCallback *callback)
static const priority_t PRI_MAX_FINITE
Definition pri_queue.h:47
void add_subscription(NotificationCallback *callback, priority_t higher_than=PRI_NEG_INF)
void set_gauge(ProfilingGauges::AbsoluteRangeGauge< int > *new_gauge)
static const priority_t PRI_NEG_INF
Definition pri_queue.h:50
priority_t highest_priority
Definition pri_queue.h:96
std::map< priority_t, std::deque< T > > queue
Definition pri_queue.h:103
bool empty(priority_t higher_than=PRI_NEG_INF) const
static const priority_t PRI_POS_INF
Definition pri_queue.h:49
int priority_t
Definition pri_queue.h:46
bool perform_notifications(T item, priority_t item_priority)
void put(T item, priority_t priority, bool add_to_back=true)
T peek(priority_t *item_priority, priority_t higher_than=PRI_NEG_INF) const
LT lock
Definition pri_queue.h:99
static const priority_t PRI_MIN_FINITE
Definition pri_queue.h:48
T ITEMTYPE
Definition pri_queue.h:39
std::map< NotificationCallback *, priority_t > subscriptions
Definition pri_queue.h:106
friend std::ostream & operator<<(std::ostream &os, const PriorityQueue< T2, LT2 > &pq)
T get(priority_t *item_priority, priority_t higher_than=PRI_NEG_INF)
ProfilingGauges::AbsoluteRangeGauge< int > * entries_in_queue
Definition pri_queue.h:108
Definition sampling.h:111
Definition activemsg.h:38
std::ostream & operator<<(std::ostream &os, const DenseRectangleList< N, T > &drl)