10 #ifndef DIPRIQUEUE_H_INCLUDED_PREDOEHL_UOFARIZONAVISION
11 #define DIPRIQUEUE_H_INCLUDED_PREDOEHL_UOFARIZONAVISION 1
71 template<
typename SATELLITE_TYPE >
82 virtual void clear() = 0;
100 virtual size_t size()
const = 0;
virtual void clear()=0
we must be able to clear the queue and reuse it
virtual Loc_tp ins_max_key(const Sat_tp &)=0
we must be able to insert a record with key value of "infinity"
virtual Loc_tp Dijkstra_extraction() const =0
get the locator of the record with min (or near min) key
pure virtual interface for priority queue in Dijkstra's algorithm
Definition: diprique.h:72
virtual Loc_tp insert(const Key_tp &, const Sat_tp &)=0
we must be able to insert a record associated with a key value
float Key_tp
type that we use for keys
Definition: diprique.h:75
virtual bool erase_loc(Loc_tp)=0
we want to erase a record via its locator value
size_t Loc_tp
type that we use for locators
Definition: diprique.h:76
virtual bool is_empty() const =0
predicate tests whether the queue is void of elements
virtual ~DijkstraPriorityQueue()
obligatory virtual destructor
Definition: diprique.h:79
SATELLITE_TYPE Sat_tp
type of satellite data
Definition: diprique.h:74
virtual bool access_loc(Loc_tp, Key_tp *, Sat_tp *) const =0
we want to be able to access that record via its locator value
virtual size_t size() const =0
get the number of elements in the queue
virtual bool rekey_loc(Loc_tp, const Key_tp &)=0
we must be able to change (reduce) the key value for a record