Generated on Thu Mar 16 2017 03:24:32 for Gecode by doxygen 1.8.13
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 brancher id. More...
 
BrancherGroup group (void) const
 Return group brancher belongs to. More...
 
void group (BrancherGroup g)
 Add brancher to group g. More...
 
void kill (Space &home)
 Kill brancher. More...
 
- Public Member Functions inherited from Gecode::Actor
virtual ~Actor (void)
 To avoid warnings. More...
 

Static Public Member Functions

static void 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 void 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)
 Not used. More...
 
static void operator delete (void *p)
 Not used. More...
 
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 Brancher &b, unsigned int alt, 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 Brancher &b, unsigned int alt, 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 337 of file ldsb.hh.

Member Typedef Documentation

◆ VarValPrint

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 Brancher &b, unsigned int alt, typename View::VarType x, int i, const Val &m, std::ostream &o)
protected

Function type for printing variable and value selection.

Definition at line 348 of file ldsb.hh.

Constructor & Destructor Documentation

◆ LDSBBrancher() [1/2]

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.

◆ LDSBBrancher() [2/2]

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

◆ choice() [1/2]

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.

◆ choice() [2/2]

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.

◆ commit()

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.

◆ copy()

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.

◆ dispose()

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.

◆ post()

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

◆ _syms

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 341 of file ldsb.hh.

◆ _nsyms

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 343 of file ldsb.hh.

◆ _prevPos

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

Definition at line 345 of file ldsb.hh.


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