Loading...
Searching...
No Matches
BALL::FPTBondOrderStrategy::BackTrackingState_ Class Reference

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

## Public Member Functions

| BackTrackingState_ ()
| BackTrackingState_ (Size bonds)
| BackTrackingState_ (BackTrackingState_ const &other)
BackTrackingState_ & | operator= (BackTrackingState_ const &other)
int | compare (BackTrackingState_ const &other) const
bool | operator< (BackTrackingState_ const &) const
bool | operator> (BackTrackingState_ const &) const
bool | operator<= (BackTrackingState_ const &) const
bool | operator>= (BackTrackingState_ const &) const
bool | operator== (BackTrackingState_ const &) const

## Public Attributes

Assignment_ | assignment
DPConfig_ | config
std::stack< std::pair< DPConfig_, Size > > | join_branches
Size | index

## Detailed Description

A BackTrackingState_ is a position in the tree during the backtracking. It contains an assignment, which contains all bond values of the bonds which were forgotten during the backtracking. Furthermore it contains the table entry of the dynamic programming table

Definition at line 856 of file FPTBondOrderStrategy.h.

## Constructor & Destructor Documentation

## BackTrackingState_() [1/3]

BALL::FPTBondOrderStrategy::BackTrackingState_::BackTrackingState_ | ( |  | ) |

Default constructor

## BackTrackingState_() [2/3]

BALL::FPTBondOrderStrategy::BackTrackingState_::BackTrackingState_ | ( | Size | bonds | ) |

build a BackTrackingState for a bag with the given number of bonds

## BackTrackingState_() [3/3]

BALL::FPTBondOrderStrategy::BackTrackingState_::BackTrackingState_ | ( | BackTrackingState_ const & | other | ) |

Copy constructor

## Member Function Documentation

## compare()

int BALL::FPTBondOrderStrategy::BackTrackingState_::compare | ( | BackTrackingState_ const & | other | ) | const

Comparison is needed to insert BackTrackingState_ entries into a search tree. Comparison is done by compare the assignments of the states.

## operator<()

bool BALL::FPTBondOrderStrategy::BackTrackingState_::operator< | ( | BackTrackingState_ const & |  | ) | const

See also
  compare

## operator<=()

bool BALL::FPTBondOrderStrategy::BackTrackingState_::operator<= | ( | BackTrackingState_ const & |  | ) | const

See also
  compare

## operator=()

BackTrackingState_ & BALL::FPTBondOrderStrategy::BackTrackingState_::operator= | ( | BackTrackingState_ const & | other | ) |

Assignment operator

## operator==()

bool BALL::FPTBondOrderStrategy::BackTrackingState_::operator== | ( | BackTrackingState_ const & |  | ) | const

See also
  compare

## operator>()

bool BALL::FPTBondOrderStrategy::BackTrackingState_::operator> | ( | BackTrackingState_ const & |  | ) | const

See also
  compare

## operator>=()

bool BALL::FPTBondOrderStrategy::BackTrackingState_::operator>= | ( | BackTrackingState_ const & |  | ) | const

See also
  compare

## Member Data Documentation

## assignment

Assignment_ BALL::FPTBondOrderStrategy::BackTrackingState_::assignment

Assignment which contains all bond values of the bonds which were forgotten during the backtracking. Such an assignment is valid, if the BackTrackingState is pointing to the end of the backtracking

Definition at line 914 of file FPTBondOrderStrategy.h.

## config

DPConfig_ BALL::FPTBondOrderStrategy::BackTrackingState_::config

the table entry, which this backtracking state follows. This is the entry of the bag, this BackTrackingState is pointing to.

Definition at line 920 of file FPTBondOrderStrategy.h.

## index

Size BALL::FPTBondOrderStrategy::BackTrackingState_::index

pre-order index of this bag. If you traverse the tree in pre-order and give each vertex a number from 0 to n-1, this number is the pre-order index.

Definition at line 933 of file FPTBondOrderStrategy.h.

## join_branches

std::stack<std::pair<DPConfig_, Size> > BALL::FPTBondOrderStrategy::BackTrackingState_::join_branches

If the BackTrackingState reachs a join node, it can just follow one of it's both children. So it have to remember which entry of the table of the second child it choosed. This is done in this stack. It contains the table entry of the right child and the index of this child in pre-order.

Definition at line 927 of file FPTBondOrderStrategy.h.