Symmetry-breaking brancher with generic view and value selection. More...
#include <ldsb.hh>
Public Member Functions | |
virtual const Choice * | choice (Space &home) |
Return choice. More... | |
virtual const Choice * | choice (const Space &home, Archive &e) |
Return choice. More... | |
virtual ExecStatus | commit (Space &home, const Choice &c, unsigned int b) |
Perform commit for choice c and alternative b. More... | |
virtual Actor * | copy (Space &home, bool share) |
Perform cloning. More... | |
virtual size_t | dispose (Space &home) |
Delete brancher and return its size. More... | |
Static Public Member Functions | |
static BrancherHandle | post (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, SymmetryImp< View > **syms, int nsyms, BranchFilter bf) |
Brancher post function. More... | |
![]() | |
static BrancherHandle | post (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf) |
Brancher post function. More... | |
Public Attributes | |
SymmetryImp< View > ** | _syms |
Array of symmetry implementations. More... | |
int | _nsyms |
Number of symmetry implementations. More... | |
int | _prevPos |
Protected Member Functions | |
LDSBBrancher (Space &home, bool share, LDSBBrancher &b) | |
Constructor for cloning b. More... | |
LDSBBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, SymmetryImp< View > **syms, int nsyms, BranchFilter bf) | |
Constructor for creation. More... | |
![]() | |
ViewValBrancher (Space &home, bool share, ViewValBrancher &b) | |
Constructor for cloning b. More... | |
ViewValBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf) | |
Constructor for creation. More... | |
![]() | |
Pos | pos (Space &home) |
Return position information. More... | |
View | view (const Pos &p) const |
Return view according to position information p. More... | |
ViewBrancher (Space &home, bool shared, ViewBrancher< View, n > &b) | |
Constructor for cloning b. More... | |
ViewBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], BranchFilter bf) | |
Constructor for creation. More... | |
![]() | |
Brancher (Home home) | |
Constructor for creation. More... | |
Brancher (Space &home, bool share, Brancher &b) | |
Constructor for cloning b. More... | |
Additional Inherited Members | |
![]() | |
typedef BranchTraits< typename View::VarType >::Filter | BranchFilter |
The branch filter that corresponds to the var type. More... | |
![]() | |
ValSelCommitBase< View, Val > * | vsc |
Value selection and commit object. More... | |
Symmetry-breaking brancher with generic view and value selection.
Implements view-based branching for an array of views (of type View) and value (of type Val).
|
inlineprotected |
Constructor for cloning b.
Definition at line 129 of file brancher.hpp.
|
protected |
Constructor for creation.
Definition at line 103 of file brancher.hpp.
|
virtual |
Return choice.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Definition at line 148 of file brancher.hpp.
|
virtual |
Return choice.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Definition at line 198 of file brancher.hpp.
|
virtual |
Perform commit for choice c and alternative b.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Definition at line 229 of file brancher.hpp.
|
virtual |
Perform cloning.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Definition at line 140 of file brancher.hpp.
|
virtual |
Delete brancher and return its size.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Definition at line 261 of file brancher.hpp.
|
inlinestatic |
Brancher post function.
Definition at line 119 of file brancher.hpp.
SymmetryImp<View>** Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_syms |
int Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_nsyms |
int Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_prevPos |