Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print > 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.
 
virtual const Choicechoice (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 Actorcopy (Space &home)
 Perform cloning.
 
virtual size_t dispose (Space &home)
 Delete brancher and return its size.
 
- Public Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >
virtual NGLngl (Space &home, const Choice &c, unsigned int b) const
 Create no-good literal for choice c and alternative b.
 
virtual void print (const Space &home, const Choice &c, unsigned int b, std::ostream &o) const
 Print branch for choice c and alternative b.
 
- Public Member Functions inherited from Gecode::ViewBrancher< View, Filter, n >
virtual bool status (const Space &home) const
 Check status of brancher, return true if alternatives left.
 
- Public Member Functions inherited from Gecode::Brancher
unsigned int id (void) const
 Return brancher id.
 
BrancherGroup group (void) const
 Return group brancher belongs to.
 
void group (BrancherGroup g)
 Add brancher to group g.
 
- Public Member Functions inherited from Gecode::Actor
virtual ~Actor (void)
 To avoid warnings.
 

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< Var > bf, VarValPrint< Var, Val > vvp)
 Brancher post function.
 
- Static Public Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >
static void post (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter< Var > bf, VarValPrint< Var, Val > vvp)
 Brancher post function.
 
- Static Public Member Functions inherited from Gecode::Actor
static void * operator new (size_t s, Space &home)
 Allocate memory from space.
 
static void operator delete (void *p, Space &home)
 No-op for exceptions.
 
static void * operator new (size_t s)
 Not used.
 
static void operator delete (void *p)
 Not used.
 

Public Attributes

SymmetryImp< View > ** _syms
 Array of symmetry implementations.
 
int _nsyms
 Number of symmetry implementations.
 
int _prevPos
 

Protected Member Functions

 LDSBBrancher (Space &home, 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< Var > bf, VarValPrint< Var, Val > vvp)
 Constructor for creation.
 
- Protected Member Functions inherited from Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >
 ViewValBrancher (Space &home, ViewValBrancher &b)
 Constructor for cloning b.
 
 ViewValBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter< Var > bf, VarValPrint< Var, Val > vvp)
 Constructor for creation.
 
- Protected Member Functions inherited from Gecode::ViewBrancher< View, Filter, n >
Pos pos (Space &home)
 Return position information.
 
View view (const Pos &p) const
 Return view according to position information p.
 
 ViewBrancher (Space &home, ViewBrancher< View, Filter, n > &b)
 Constructor for cloning b.
 
 ViewBrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], BranchFilter< Var > bf)
 Constructor for creation.
 
- Protected Member Functions inherited from Gecode::Brancher
 Brancher (Home home)
 Constructor for creation.
 
 Brancher (Space &home, Brancher &b)
 Constructor for cloning b.
 

Additional Inherited Members

- Protected Types inherited from Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >
typedef View::VarType Var
 The corresponding variable.
 
- Protected Types inherited from Gecode::ViewBrancher< View, Filter, n >
typedef View::VarType Var
 The corresponding variable.
 
- Protected Attributes inherited from Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >
ValSelCommitBase< View, Val > * vsc
 Value selection and commit object.
 
Print p
 Print function.
 
- Protected Attributes inherited from Gecode::ViewBrancher< View, Filter, n >
ViewArray< View > x
 Views to branch on.
 
int start
 Unassigned views start at x[start].
 
ViewSel< View > * vs [n]
 View selection objects.
 
Filter f
 Filter function.
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ LDSBBrancher() [1/2]

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

Constructor for cloning b.

Definition at line 124 of file brancher.hpp.

◆ LDSBBrancher() [2/2]

template<class View , int n, class Val , unsigned int a, class Filter , class Print >
Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >::LDSBBrancher ( Home home,
ViewArray< View > & x,
ViewSel< View > * vs[n],
ValSelCommitBase< View, Val > * vsc,
SymmetryImp< View > ** syms,
int nsyms,
BranchFilter< Var > bf,
VarValPrint< Var, Val > vvp )
protected

Constructor for creation.

Member Function Documentation

◆ choice() [1/2]

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

◆ choice() [2/2]

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

Return choice.

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

Definition at line 199 of file brancher.hpp.

◆ commit()

template<class View , int n, class Val , unsigned int a, class Filter , class Print >
ExecStatus Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >::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, Filter, Print >.

Reimplemented in Gecode::Set::LDSB::LDSBSetBrancher< View, n, Val, a, Filter, Print >.

Definition at line 232 of file brancher.hpp.

◆ copy()

template<class View , int n, class Val , unsigned int a, class Filter , class Print >
Actor * Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >::copy ( Space & home)
virtual

◆ dispose()

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

Delete brancher and return its size.

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

Definition at line 267 of file brancher.hpp.

◆ post()

template<class View , int n, class Val , unsigned int a, class Filter , class Print >
void Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >::post ( Home home,
ViewArray< View > & x,
ViewSel< View > * vs[n],
ValSelCommitBase< View, Val > * vsc,
SymmetryImp< View > ** syms,
int nsyms,
BranchFilter< Var > bf,
VarValPrint< Var, Val > vvp )
inlinestatic

Brancher post function.

Definition at line 111 of file brancher.hpp.

Member Data Documentation

◆ _syms

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

Array of symmetry implementations.

Definition at line 336 of file ldsb.hh.

◆ _nsyms

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

Number of symmetry implementations.

Definition at line 338 of file ldsb.hh.

◆ _prevPos

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

Definition at line 340 of file ldsb.hh.


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