Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a > Class Template Reference
Symmetry-breaking brancher with generic view and value selection. More...
#include <ldsb.hh>
Public Member Functions | |
| virtual const Choice * | choice (Space &home) |
| Return choice. | |
| virtual const Choice * | choice (const Space &home, Archive &e) |
| Return choice. | |
| virtual ExecStatus | commit (Space &home, const Choice &c, unsigned int b) |
| Perform commit for choice c and alternative b. | |
| virtual Actor * | copy (Space &home, bool share) |
| Perform cloning. | |
| virtual size_t | dispose (Space &home) |
| Delete brancher and return its size. | |
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, VarValPrint vvp) |
| Brancher post function. | |
Public Attributes | |
| SymmetryImp< View > ** | _syms |
| Array of symmetry implementations. | |
| int | _nsyms |
| Number of symmetry implementations. | |
| int | _prevPos |
Protected Types | |
| typedef void(* | VarValPrint )(const Space &home, const BrancherHandle &bh, unsigned int b, typename View::VarType x, int i, const Val &m, std::ostream &o) |
| Function type for printing variable and value selection. | |
Protected Member Functions | |
| LDSBBrancher (Space &home, bool share, LDSBBrancher &b) | |
| Constructor for cloning b. | |
| LDSBBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, SymmetryImp< View > **syms, int nsyms, BranchFilter bf, VarValPrint vvp) | |
| Constructor for creation. | |
Detailed Description
template<class View, int n, class Val, unsigned int a>
class Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >
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).
Definition at line 335 of file ldsb.hh.
Member Typedef Documentation
typedef void(* Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::VarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int b, typename View::VarType x, int i, const Val &m, std::ostream &o) [protected] |
Function type for printing variable and value selection.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Constructor & Destructor Documentation
| Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::LDSBBrancher | ( | Space & | home, | |
| bool | share, | |||
| LDSBBrancher< View, n, Val, a > & | b | |||
| ) | [inline, protected] |
Constructor for cloning b.
Definition at line 130 of file brancher.hpp.
| Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::LDSBBrancher | ( | Home | home, | |
| ViewArray< View > & | x, | |||
| ViewSel< View > * | vs[n], | |||
| ValSelCommitBase< View, Val > * | vsc, | |||
| SymmetryImp< View > ** | syms, | |||
| int | nsyms, | |||
| BranchFilter | bf, | |||
| VarValPrint | vvp | |||
| ) | [inline, protected] |
Constructor for creation.
Definition at line 103 of file brancher.hpp.
Member Function Documentation
| const Choice * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::choice | ( | Space & | home | ) | [inline, virtual] |
Return choice.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Definition at line 149 of file brancher.hpp.
| const Choice * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::choice | ( | const Space & | home, | |
| Archive & | e | |||
| ) | [inline, virtual] |
Return choice.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Definition at line 199 of file brancher.hpp.
| ExecStatus Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::commit | ( | Space & | home, | |
| const Choice & | c, | |||
| unsigned int | b | |||
| ) | [inline, 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 230 of file brancher.hpp.
| Actor * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::copy | ( | Space & | home, | |
| bool | share | |||
| ) | [inline, virtual] |
Perform cloning.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
Definition at line 141 of file brancher.hpp.
| size_t Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::dispose | ( | Space & | home | ) | [inline, virtual] |
Delete brancher and return its size.
Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.
Definition at line 262 of file brancher.hpp.
| BrancherHandle Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::post | ( | Home | home, | |
| ViewArray< View > & | x, | |||
| ViewSel< View > * | vs[n], | |||
| ValSelCommitBase< View, Val > * | vsc, | |||
| SymmetryImp< View > ** | syms, | |||
| int | nsyms, | |||
| BranchFilter | bf, | |||
| VarValPrint | vvp | |||
| ) | [inline, static] |
Brancher post function.
Definition at line 120 of file brancher.hpp.
Member Data Documentation
| 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 |
Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a >.
The documentation for this class was generated from the following files:
- gecode/int/ldsb.hh (Revision: 13622)
- gecode/int/ldsb/brancher.hpp (Revision: 13644)
