Generated on Sat Feb 7 2015 02:01:47 for Gecode by doxygen 1.8.9.1
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 Choicechoice (Space &home)
 Return choice. More...
 
virtual const Choicechoice (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 Actorcopy (Space &home, bool share)
 Perform cloning. More...
 
virtual size_t dispose (Space &home)
 Delete brancher and return its size. More...
 
- Public Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a >
virtual NGLngl (Space &home, const Choice &c, unsigned int b) const
 Create no-good literal for choice c and alternative b. More...
 
virtual void print (const Space &home, const Choice &c, unsigned int b, std::ostream &o) const
 Print branch for choice c and alternative b. More...
 
- Public Member Functions inherited from Gecode::ViewBrancher< View, n >
virtual bool status (const Space &home) const
 Check status of brancher, return true if alternatives left. More...
 
- Public Member Functions inherited from Gecode::Brancher
unsigned int id (void) const
 Return unsigned brancher id. More...
 
- Public Member Functions inherited from Gecode::Actor

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. More...
 
- Static Public Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a >
static BrancherHandle post (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf, VarValPrint vvp)
 Brancher post function. 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...
 

Public Attributes

SymmetryImp< View > ** _syms
 Array of symmetry implementations. More...
 
int _nsyms
 Number of symmetry implementations. More...
 
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. More...
 
- Protected Types inherited from Gecode::ViewValBrancher< View, n, Val, a >
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. More...
 
- Protected Types inherited from Gecode::ViewBrancher< View, n >
typedef BranchTraits< typename View::VarType >::Filter BranchFilter
 The branch filter that corresponds to the var type. More...
 

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, VarValPrint vvp)
 Constructor for creation. More...
 
- Protected Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a >
 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, VarValPrint vvp)
 Constructor for creation. More...
 
- Protected Member Functions inherited from Gecode::ViewBrancher< View, n >
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...
 
- Protected Member Functions inherited from Gecode::Brancher
 Brancher (Home home)
 Constructor for creation. More...
 
 Brancher (Space &home, bool share, Brancher &b)
 Constructor for cloning b. More...
 

Additional Inherited Members

- Protected Attributes inherited from Gecode::ViewValBrancher< View, n, Val, a >
ValSelCommitBase< View, Val > * vsc
 Value selection and commit object. More...
 
VarValPrint vvp
 Print function. More...
 
- Protected Attributes inherited from Gecode::ViewBrancher< View, n >
ViewArray< View > x
 Views to branch on. More...
 
int start
 Unassigned views start at x[start]. More...
 
ViewSel< View > * vs [n]
 View selection objects. More...
 
BranchFilter bf
 Branch filter function. More...
 

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

template<class View, int n, class Val, unsigned int a>
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.

Definition at line 346 of file ldsb.hh.

Constructor & Destructor Documentation

template<class View , int n, class Val , unsigned int a>
Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::LDSBBrancher ( Space home,
bool  share,
LDSBBrancher< View, n, Val, a > &  b 
)
inlineprotected

Constructor for cloning b.

Definition at line 130 of file brancher.hpp.

template<class View , int n, class Val , unsigned int a>
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 
)
protected

Constructor for creation.

Definition at line 103 of file brancher.hpp.

Member Function Documentation

template<class View , int n, class Val , unsigned int a>
const Choice * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::choice ( Space home)
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.

template<class View , int n, class Val , unsigned int a>
const Choice * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::choice ( const Space home,
Archive e 
)
virtual

Return choice.

Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.

Definition at line 199 of file brancher.hpp.

template<class View , int n, class Val , unsigned int a>
ExecStatus Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::commit ( Space home,
const Choice c,
unsigned int  b 
)
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.

template<class View , int n, class Val , unsigned int a>
Actor * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::copy ( Space home,
bool  share 
)
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.

template<class View , int n, class Val , unsigned int a>
size_t Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::dispose ( Space home)
virtual

Delete brancher and return its size.

Reimplemented from Gecode::ViewValBrancher< View, n, Val, a >.

Definition at line 262 of file brancher.hpp.

template<class View , int n, class Val , unsigned int a>
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 
)
inlinestatic

Brancher post function.

Definition at line 120 of file brancher.hpp.

Member Data Documentation

template<class View, int n, class Val, unsigned int a>
SymmetryImp<View>** Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_syms

Array of symmetry implementations.

Definition at line 339 of file ldsb.hh.

template<class View, int n, class Val, unsigned int a>
int Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_nsyms

Number of symmetry implementations.

Definition at line 341 of file ldsb.hh.

template<class View, int n, class Val, unsigned int a>
int Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a >::_prevPos

Definition at line 343 of file ldsb.hh.


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