Class ForwardQueue

Nested Relationships

Nested Types

Class Documentation

class ForwardQueue

Public Functions

ForwardQueue(const std::shared_ptr<const ompl::base::OptimizationObjective> &objective, const std::shared_ptr<const ompl::base::StateSpace> &space)

Constructs the queue given the objective and state space.

~ForwardQueue() = default

Destructs the queue.

bool empty() const

Returns whether the queue is empty.

std::size_t size() const

Returns how many elements are in the queue.

void insertOrUpdate(const Edge &edge)

Inserts or updates an edge in the queue.

void insertOrUpdate(const std::vector<Edge> &edges)

Inserts or updates multiple edges into the queue.

void remove(const Edge &edge)

Removes an edge from the queue. Throws if the edge is not in the queue.

void updateIfExists(const Edge &edge)

Update an edge in the queue. Does nothing if the edge is not in the queue.

Edge peek(double suboptimalityFactor)

Returns a copy to the next edge.

Edge pop(double suboptimalityFactor)

Returns and deletes the top element of the queue.

ompl::base::Cost getLowerBoundOnOptimalSolutionCost() const

Returns a lower bound on the resolution-optimal solution cost.

bool containsOpenTargets(std::size_t reverseSearchTag) const

Returns whether the queue contains edges with targets that are open or unconnected in the reverse search tree.

void clear()

Clears the queue, i.e., deletes all elements from it.

std::vector<Edge> getEdges() const

Copies all edges into a vector and returns the vector.

void rebuild()

Rebuilds the queue.

unsigned int getMinEffortToCome() const

Returns the minimum effort that remains.

std::size_t estimateEffort(const Edge &edge) const

Estimates the effort that remains to validate a solution through an edge.