Generated on Thu Mar 7 2013 10:21:58 for Gecode by doxygen 1.8.3.1
Gecode::Brancher Class Referenceabstract

Base-class for branchers. More...

#include <core.hpp>

Protected Member Functions

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

Brancher

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

Additional Inherited Members

- Public Member Functions inherited from Gecode::Actor
virtual Actorcopy (Space &home, bool share)=0
 Create copy. More...
 
virtual size_t allocated (void) const
 Report size occupied by additionally datastructures. More...
 
virtual size_t dispose (Space &home)
 Delete actor and return its size. More...
 
- Static Public Member Functions inherited from Gecode::Actor
static void * operator new (size_t s, Space &home)
 Allocate memory from space. More...
 
static void operator delete (void *p, Space &home)
 No-op for exceptions. More...
 

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)
inlineprotected

Constructor for creation.

Definition at line 2606 of file core.hpp.

Gecode::Brancher::Brancher ( Space home,
bool  share,
Brancher b 
)
inlineprotected

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: