Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.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.
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.
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 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< Viewx
 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 )
protected

Constructor for cloning b.

◆ 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: