AlpsNodePool Class Reference

Node pool is used to store the nodes to be processed. More...

#include <AlpsNodePool.h>

Inheritance diagram for AlpsNodePool:
Inheritance graph
[legend]
Collaboration diagram for AlpsNodePool:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AlpsNodePool ()
virtual ~AlpsNodePool ()
int getNumKnowledges () const
 Query the number of nodes in the node pool.
double getBestKnowledgeValue () const
 Get the "best value" of the nodes in node pool.
AlpsTreeNodegetBestNode () const
 Get the "best" nodes in node pool.
bool hasKnowledge () const
 Check whether there are still nodes in the node pool.
std::pair< AlpsKnowledge
*, double > 
getKnowledge () const
 Get the node with highest priority.
void popKnowledge ()
 Remove the node with highest priority from the pool.
void addKnowledge (AlpsKnowledge *node, double priority)
 Remove the node with highest priority from the pool and the elite list.
const AlpsPriorityQueue
< AlpsTreeNode * > & 
getCandidateList () const
 Get a constant reference to the priority queue that stores nodes.
void setNodeSelection (AlpsSearchStrategy< AlpsTreeNode * > &compare)
 Set strategy and resort heap.
void deleteGuts ()
 Delete all the nodes in the pool and free memory.
void clear ()
 Remove all the nodes in the pool (does not free memory).

Private Member Functions

 AlpsNodePool (const AlpsNodePool &)
AlpsNodePooloperator= (const AlpsNodePool &)

Private Attributes

AlpsPriorityQueue< AlpsTreeNode * > candidateList_

Detailed Description

Node pool is used to store the nodes to be processed.

Definition at line 37 of file AlpsNodePool.h.


Constructor & Destructor Documentation

AlpsNodePool::AlpsNodePool ( const AlpsNodePool  )  [private]
AlpsNodePool::AlpsNodePool (  )  [inline]

Definition at line 46 of file AlpsNodePool.h.

virtual AlpsNodePool::~AlpsNodePool (  )  [inline, virtual]

Definition at line 47 of file AlpsNodePool.h.


Member Function Documentation

AlpsNodePool& AlpsNodePool::operator= ( const AlpsNodePool  )  [private]

Reimplemented from AlpsKnowledgePool.

int AlpsNodePool::getNumKnowledges (  )  const [inline, virtual]

Query the number of nodes in the node pool.

Implements AlpsKnowledgePool.

Definition at line 55 of file AlpsNodePool.h.

double AlpsNodePool::getBestKnowledgeValue (  )  const [inline]

Get the "best value" of the nodes in node pool.

Definition at line 58 of file AlpsNodePool.h.

AlpsTreeNode* AlpsNodePool::getBestNode (  )  const [inline]

Get the "best" nodes in node pool.

Definition at line 74 of file AlpsNodePool.h.

bool AlpsNodePool::hasKnowledge (  )  const [inline, virtual]

Check whether there are still nodes in the node pool.

Reimplemented from AlpsKnowledgePool.

Definition at line 93 of file AlpsNodePool.h.

std::pair<AlpsKnowledge*, double> AlpsNodePool::getKnowledge (  )  const [inline, virtual]

Get the node with highest priority.

Doesn't remove it from the pool

Implements AlpsKnowledgePool.

Definition at line 96 of file AlpsNodePool.h.

void AlpsNodePool::popKnowledge (  )  [inline, virtual]

Remove the node with highest priority from the pool.

Reimplemented from AlpsKnowledgePool.

Definition at line 103 of file AlpsNodePool.h.

void AlpsNodePool::addKnowledge ( AlpsKnowledge node,
double  priority 
) [inline, virtual]

Remove the node with highest priority from the pool and the elite list.

Add a node to node pool.

Implements AlpsKnowledgePool.

Definition at line 110 of file AlpsNodePool.h.

const AlpsPriorityQueue<AlpsTreeNode*>& AlpsNodePool::getCandidateList (  )  const [inline]

Get a constant reference to the priority queue that stores nodes.

Definition at line 124 of file AlpsNodePool.h.

void AlpsNodePool::setNodeSelection ( AlpsSearchStrategy< AlpsTreeNode * > &  compare  )  [inline]

Set strategy and resort heap.

Definition at line 127 of file AlpsNodePool.h.

void AlpsNodePool::deleteGuts (  )  [inline]

Delete all the nodes in the pool and free memory.

Definition at line 132 of file AlpsNodePool.h.

void AlpsNodePool::clear (  )  [inline]

Remove all the nodes in the pool (does not free memory).

Definition at line 142 of file AlpsNodePool.h.


Member Data Documentation

Definition at line 43 of file AlpsNodePool.h.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1