BALL
1.4.2
|
#include <BALL/STRUCTURE/BONDORDERS/FPTBondOrderStrategy.h>
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 |
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 350 of file FPTBondOrderStrategy.h.
typedef DPMap_::const_iterator BALL::FPTBondOrderStrategy::DPTable_::const_iterator |
constant iterator above the table entries
Definition at line 378 of file FPTBondOrderStrategy.h.
typedef DPMap_::iterator BALL::FPTBondOrderStrategy::DPTable_::iterator |
iterator above the table entries
Definition at line 373 of file FPTBondOrderStrategy.h.
BALL::FPTBondOrderStrategy::DPTable_::DPTable_ | ( | ) |
Default constructor
BALL::FPTBondOrderStrategy::DPTable_::DPTable_ | ( | DPTable_ const & | table | ) |
Copy constructor
iterator BALL::FPTBondOrderStrategy::DPTable_::begin | ( | ) |
returns an iterator to the first entry.
const_iterator BALL::FPTBondOrderStrategy::DPTable_::begin | ( | ) | const |
returns a constant iterator to the first entry
DPConstRow_ BALL::FPTBondOrderStrategy::DPTable_::bestEntry | ( | ) | const |
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.
BALL::Exception::IndexOverflow | if table is empty |
Penalty BALL::FPTBondOrderStrategy::DPTable_::bestPenalty | ( | ) | const |
returns the best penalty in this table or infinite_penalty, if the table is empty
iterator BALL::FPTBondOrderStrategy::DPTable_::end | ( | ) |
returns an iterator to the end of the table
const_iterator BALL::FPTBondOrderStrategy::DPTable_::end | ( | ) | const |
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.
returns the penalty of a given DPConfig
Size BALL::FPTBondOrderStrategy::DPTable_::size | ( | ) | const |
returns the number of rows in this table
|
protected |
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 357 of file FPTBondOrderStrategy.h.