Generated on Sun Apr 1 2012 00:25:25 for Gecode by doxygen 1.7.6.1
Gecode::Brancher Class Reference

Base-class for branchers. More...

#include <core.hpp>

List of all members.

Protected Member Functions

 Brancher (Home home)
 Constructor for creation.
 Brancher (Space &home, bool share, Brancher &b)
 Constructor for cloning b.

Brancher

virtual bool status (const Space &home) const =0
 Check status of brancher, return true if alternatives left.
virtual const Choicechoice (Space &home)=0
 Return choice.
virtual const Choicechoice (const Space &home, Archive &e)=0
 Return choice from e.
virtual ExecStatus commit (Space &home, const Choice &c, unsigned int a)=0
 Commit for choice c and alternative a.
unsigned int id (void) const
 Return unsigned brancher id.

Detailed Description

Base-class for branchers.

Note that branchers cannot be created inside a propagator (no idea why one would like to do that anyway). If you do that the system will explode in a truly interesting way.

Definition at line 1004 of file core.hpp.


Constructor & Destructor Documentation

Gecode::Brancher::Brancher ( Home  home) [inline, protected]

Constructor for creation.

Definition at line 2606 of file core.hpp.

Gecode::Brancher::Brancher ( Space home,
bool  share,
Brancher b 
) [inline, protected]

Constructor for cloning b.

Definition at line 2620 of file core.hpp.


Member Function Documentation

virtual bool Gecode::Brancher::status ( const Space home) const [pure virtual]

Check status of brancher, return true if alternatives left.

This method is called when Space::status is called, it determines whether to continue branching with this brancher or move on to the (possibly) next brancher.

Implemented in SteelMill::SteelMillBranch, CDBF, Radiotherapy::NestedSearch, QueenArmies::QueenBranch, BlackHoleBranch, Warnsdorff, Gecode::ViewBrancher< ViewSel >, Gecode::FunctionBranch, and Gecode::Gist::StopBrancher.

virtual const Choice* Gecode::Brancher::choice ( Space home) [pure virtual]

Return choice.

Note that this method relies on the fact that it is called immediately after a previous call to status. Moreover, the member function can only be called once.

Implemented in SteelMill::SteelMillBranch, Radiotherapy::NestedSearch, CDBF, Gecode::Int::Branch::ViewValuesBrancher< ViewSel, View >, QueenArmies::QueenBranch, BlackHoleBranch, Gecode::ViewValBrancher< ViewSel, ValSel >, Warnsdorff, Gecode::FunctionBranch, and Gecode::Gist::StopBrancher.

virtual ExecStatus Gecode::Brancher::commit ( Space home,
const Choice c,
unsigned int  a 
) [pure virtual]

Commit for choice c and alternative a.

The current brancher in the space home performs a commit from the information provided by the choice c and the alternative a.

Implemented in SteelMill::SteelMillBranch, CDBF, Radiotherapy::NestedSearch, QueenArmies::QueenBranch, Gecode::Int::Branch::ViewValuesBrancher< ViewSel, View >, BlackHoleBranch, Warnsdorff, Gecode::ViewValBrancher< ViewSel, ValSel >, Gecode::FunctionBranch, and Gecode::Gist::StopBrancher.

unsigned int Gecode::Brancher::id ( void  ) const [inline]

Return unsigned brancher id.

Definition at line 2627 of file core.hpp.


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