# AlpsNodePool Class Reference

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

`#include <AlpsNodePool.h>`

Inheritance diagram for AlpsNodePool:
[legend]
Collaboration diagram for AlpsNodePool:
[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.
AlpsTreeNode * | getBestNode () 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 &)
AlpsNodePool & | operator= (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

AlpsPriorityQueue<AlpsTreeNode*> AlpsNodePool::candidateList_`[private]`

Definition at line 43 of file AlpsNodePool.h.

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

- /home/coin/svn-release/Alps-1.4.5/Alps/src/AlpsNodePool.h