BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions | Protected Attributes
BALL::FPTBondOrderStrategy::DPTable_ Class Reference

#include <BALL/STRUCTURE/BONDORDERS/FPTBondOrderStrategy.h>

List of all members.

Public Types

typedef DPMap_::iterator iterator
typedef DPMap_::const_iterator const_iterator

Public Member Functions

 DPTable_ ()
 DPTable_ (DPTable_ const &table)
Penalty operator[] (DPConfig_ const &config) const
bool insert (DPConfig_ const &config, Penalty penalty)
Size size () const
Penalty bestPenalty () const
DPConstRow_ bestEntry () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const

Protected Attributes

DPMap_ table

Detailed Description

The dynamic programming table. Each nice tree decomposition bag has it's own dynamic programming table. They are computed either from leaf-nodes, by forgetting or introducing entries from ancestor-tables in forget/introduce nodes or by merging two tables into one in join-nodes. The rows in this table are different possible bond assignments for the molecule graph. It's columns are the consumed valences of the bag's atoms and bond values of the bag's bonds.

Definition at line 354 of file FPTBondOrderStrategy.h.


Member Typedef Documentation

constant iterator above the table entries

Definition at line 382 of file FPTBondOrderStrategy.h.

iterator above the table entries

Definition at line 377 of file FPTBondOrderStrategy.h.


Constructor & Destructor Documentation

Default constructor

Copy constructor


Member Function Documentation

returns an iterator to the first entry.

returns a constant iterator to the first entry

returns the entry with best penalty. Because this function throws an exception if the table is empty, you should check this by calling size() before calling this function.

Exceptions:
BALL::Exception::IndexOverflowif table is empty

returns the best penalty in this table or infinite_penalty, if the table is empty

returns an iterator to the end of the table

returns a constant iterator to the end of the table

insert a new DPConfig with the given penalty. If the table already contains an equal DPConfig with a lower penalty, this function does nothing.

Penalty BALL::FPTBondOrderStrategy::DPTable_::operator[] ( DPConfig_ const &  config) const

returns the penalty of a given DPConfig

returns the number of rows in this table


Member Data Documentation

the table data is represented as a tree map, because this allow fast inserting of DPConfigs and removing duplicates with greater penalty.

Definition at line 361 of file FPTBondOrderStrategy.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines