# AlpsKnowledgePool Class Reference

`#include <AlpsKnowledgePool.h>`

Inheritance diagram for AlpsKnowledgePool:
[legend]

List of all members.

## Public Member Functions
| AlpsKnowledgePool ()
virtual | ~AlpsKnowledgePool ()
virtual void | addKnowledge (AlpsKnowledge *nk, double priority)=0
| Add a knowledge to pool.
virtual int | getNumKnowledges () const =0
| Query how many knowledges are in the pool.
virtual std::pair < AlpsKnowledge *, double > | getKnowledge () const =0
| Query a knowledge, but doesn't remove it from the pool.
virtual void | popKnowledge ()
| Remove the queried knowledge from the pool.
virtual bool | hasKnowledge () const
| Check whether the pool has knowledge.
virtual void | setMaxNumKnowledges (int num)
| Set the quantity limit of knowledges that can be stored in the pool.
virtual int | getMaxNumKnowledges () const
| Query the quantity limit of knowledges.
virtual std::pair < AlpsKnowledge *, double > | getBestKnowledge () const
| Query the best knowledge in the pool.
virtual void | getAllKnowledges (std::vector< std::pair< AlpsKnowledge *, double > > &kls) const
| Get a reference to all the knowledges in the pool.
## Private Member Functions
| AlpsKnowledgePool (const AlpsKnowledgePool &)
AlpsKnowledgePool & | operator= (const AlpsKnowledgePool &)

## Detailed Description

Definition at line 36 of file AlpsKnowledgePool.h.

## Constructor & Destructor Documentation

AlpsKnowledgePool::AlpsKnowledgePool | ( | const AlpsKnowledgePool & |  | ) | `[private]`

AlpsKnowledgePool::AlpsKnowledgePool | ( |  | ) | `[inline]`

Definition at line 42 of file AlpsKnowledgePool.h.

virtual AlpsKnowledgePool::~AlpsKnowledgePool | ( |  | ) | `[inline, virtual]`

Definition at line 43 of file AlpsKnowledgePool.h.

## Member Function Documentation

AlpsKnowledgePool& AlpsKnowledgePool::operator= | ( | const AlpsKnowledgePool & |  | ) | `[private]`

Reimplemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

virtual void AlpsKnowledgePool::addKnowledge | ( | AlpsKnowledge * | nk,
|  | double | priority |
| ) |  |  | `[pure virtual]`

Add a knowledge to pool.

Implemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

virtual int AlpsKnowledgePool::getNumKnowledges | ( |  | ) | const`[pure virtual]`

Query how many knowledges are in the pool.

Implemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

virtual std::pair<AlpsKnowledge*, double> AlpsKnowledgePool::getKnowledge | ( |  | ) | const`[pure virtual]`

Query a knowledge, but doesn't remove it from the pool.

Implemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

virtual void AlpsKnowledgePool::popKnowledge | ( |  | ) | `[inline, virtual]`

Remove the queried knowledge from the pool.

Reimplemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

Definition at line 55 of file AlpsKnowledgePool.h.

virtual bool AlpsKnowledgePool::hasKnowledge | ( |  | ) | const`[inline, virtual]`

Check whether the pool has knowledge.

Reimplemented in AlpsNodePool, AlpsSolutionPool, and AlpsSubTreePool.

Definition at line 61 of file AlpsKnowledgePool.h.

virtual void AlpsKnowledgePool::setMaxNumKnowledges | ( | int | num | ) | `[inline, virtual]`

Set the quantity limit of knowledges that can be stored in the pool.

Reimplemented in AlpsSolutionPool.

Definition at line 67 of file AlpsKnowledgePool.h.

virtual int AlpsKnowledgePool::getMaxNumKnowledges | ( |  | ) | const`[inline, virtual]`

Query the quantity limit of knowledges.

Reimplemented in AlpsSolutionPool.

Definition at line 75 of file AlpsKnowledgePool.h.

virtual std::pair<AlpsKnowledge*, double> AlpsKnowledgePool::getBestKnowledge | ( |  | ) | const`[inline, virtual]`

Query the best knowledge in the pool.

Reimplemented in AlpsSolutionPool.

Definition at line 83 of file AlpsKnowledgePool.h.

virtual void AlpsKnowledgePool::getAllKnowledges | ( | std::vector< std::pair< AlpsKnowledge *, double > > & | kls | ) | const`[inline, virtual]`

Get a reference to all the knowledges in the pool.

Reimplemented in AlpsSolutionPool.

Definition at line 89 of file AlpsKnowledgePool.h.

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

- /home/coin/svn-release/Alps-1.4.6/Alps/src/AlpsKnowledgePool.h