g2o
Public Member Functions | List of all members
g2o::EstimatePropagator::PriorityQueue Class Reference

priority queue for AdjacencyMapEntry More...

#include <estimate_propagator.h>

Inheritance diagram for g2o::EstimatePropagator::PriorityQueue:
Inheritance graph
[legend]
Collaboration diagram for g2o::EstimatePropagator::PriorityQueue:
Collaboration graph
[legend]

Public Member Functions

void push (AdjacencyMapEntry *entry)
 
AdjacencyMapEntrypop ()
 

Detailed Description

priority queue for AdjacencyMapEntry

Definition at line 95 of file estimate_propagator.h.

Member Function Documentation

EstimatePropagator::AdjacencyMapEntry * g2o::EstimatePropagator::PriorityQueue::pop ( )

Definition at line 224 of file estimate_propagator.cpp.

References g2o::EstimatePropagator::AdjacencyMapEntry::inQueue, and g2o::EstimatePropagator::AdjacencyMapEntry::queueIt.

Referenced by g2o::EstimatePropagator::propagate().

225  {
226  assert(!empty());
227  iterator it = begin();
228  AdjacencyMapEntry* entry = it->second;
229  erase(it);
230 
231  assert(entry != NULL);
232  entry->queueIt = end();
233  entry->inQueue = false;
234  return entry;
235  }
void g2o::EstimatePropagator::PriorityQueue::push ( AdjacencyMapEntry entry)

Definition at line 211 of file estimate_propagator.cpp.

References g2o::EstimatePropagator::AdjacencyMapEntry::distance(), g2o::EstimatePropagator::AdjacencyMapEntry::inQueue, and g2o::EstimatePropagator::AdjacencyMapEntry::queueIt.

Referenced by g2o::EstimatePropagator::propagate().

212  {
213  assert(entry != NULL);
214  if (entry->inQueue) {
215  assert(entry->queueIt->second == entry);
216  erase(entry->queueIt);
217  }
218 
219  entry->queueIt = insert(std::make_pair(entry->distance(), entry));
220  assert(entry->queueIt != end());
221  entry->inQueue = true;
222  }

The documentation for this class was generated from the following files: