30#ifndef PAL_PRIORITYQUEUE_H 
   31#define PAL_PRIORITYQUEUE_H 
   39#define LEFT(x) (2*x+1) 
   40#define RIGHT(x) (2*x+2) 
   41#define PARENT(x) ((x-1)/2) 
   75      bool isIn( 
int key ) 
const;
 
   80      void insert( 
int key, 
double p );
 
   91      int getId( 
int key ) 
const;
 
   97      std::unique_ptr<int[]> heap;
 
   98      std::unique_ptr<double[]> p;
 
   99      std::unique_ptr<int[]> pos;
 
  101      bool ( *greater )( 
double l, 
double r );
 
 
Custom priority queue for use in pal labeling engine.
 
PriorityQueue(const PriorityQueue &)=delete
 
void decreaseKey(int key)
 
void setPriority(int key, double new_p)
 
void insert(int key, double p)
 
PriorityQueue & operator=(const PriorityQueue &)=delete