Gecode::Brancher Gecode::Actor Gecode::Gist::StopBrancher Gecode::ViewBrancher< View, n > Gecode::ViewBrancher< IntView, n > core.hpp
Brancher
unsigned int forceinline unsigned int Gecode::Brancher::id (void) const id void Return unsigned brancher id. bool virtual bool Gecode::Brancher::status (const Space &home) const =0 status status status status const Space & home 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. const Choice * virtual const Choice* Gecode::Brancher::choice (Space &home)=0 choice choice choice choice choice choice Space & home 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. const Choice * virtual const Choice* Gecode::Brancher::choice (const Space &home, Archive &e)=0 choice choice choice choice choice const Space & home Archive & e Return choice from e. ExecStatus virtual ExecStatus Gecode::Brancher::commit (Space &home, const Choice &c, unsigned int a)=0 commit commit commit commit commit commit Space & home const Choice & c unsigned int a 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. GECODE_KERNEL_EXPORT NGL * virtual GECODE_KERNEL_EXPORT NGL* Gecode::Brancher::ngl (Space &home, const Choice &c, unsigned int a) const ngl ngl ngl Space & home const Choice & c unsigned int a Create no-good literal for choice c and alternative a. The current brancher in the space home creates a no-good literal from the information provided by the choice c and the alternative a. The brancher has the following options: it returns NULL for all alternatives a. This means that the brancher does not support no-good literals (default).it returns NULL for the last alternative a. This means that this alternative is equivalent to the negation of the disjunction of all other alternatives. GECODE_KERNEL_EXPORT void virtual GECODE_KERNEL_EXPORT void Gecode::Brancher::print (const Space &home, const Choice &c, unsigned int a, std::ostream &o) const print print print print const Space & home const Choice & c unsigned int a std::ostream & o Print branch for choice c and alternative a. Prints an explanation of the alternative a of choice c on the stream o.The default function prints nothing.
friend class friend class ActorLink ActorLink friend class friend class Space Space friend class friend class Choice Choice unsigned int unsigned int Gecode::Brancher::_id _id Unique identity. Brancher * forceinline Brancher * Gecode::Brancher::cast (ActorLink *al) cast ActorLink * al Static cast for a non-null pointer (to give a hint to optimizer) const Brancher * forceinline const Brancher * Gecode::Brancher::cast (const ActorLink *al) cast const ActorLink * al Static cast for a non-null pointer (to give a hint to optimizer) forceinline Gecode::Brancher::Brancher (Home home) Brancher Home home Constructor for creation. forceinline Gecode::Brancher::Brancher (Space &home, bool share, Brancher &b) Brancher Space & home bool share Brancher & b Constructor for cloning b. 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. Gecode::Brancher_id Gecode::BrancherActorLink Gecode::BrancherBrancher Gecode::BrancherBrancher Gecode::Branchercast Gecode::Branchercast Gecode::Branchercast Gecode::Branchercast Gecode::Brancherchoice Gecode::Brancherchoice Gecode::BrancherChoice Gecode::Branchercommit Gecode::Branchercopy Gecode::Brancherdispose Gecode::Brancherid Gecode::Brancherngl Gecode::Brancheroperator delete Gecode::Brancheroperator new Gecode::Brancherprint Gecode::BrancherSpace Gecode::Brancherstatus