Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::ViewValBrancher< View, n, Val, a, Filter, Print > Class Template Reference

Generic brancher by view and value selection. More...

#include <view-val.hpp>

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 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.
virtual Actorcopy (Space &home)
 Perform cloning.
virtual size_t dispose (Space &home)
 Delete brancher and return its size.
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, 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.

Protected Types

typedef View::VarType Var
 The corresponding variable.
Protected Types inherited from Gecode::ViewBrancher< View, Filter, n >
typedef View::VarType Var
 The corresponding variable.

Protected Member Functions

 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.

Protected Attributes

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::ViewValBrancher< View, n, Val, a, Filter, Print >

Generic brancher by view and value selection.

Implements view-based branching for an array of views (of type View) and value (of type Val).

Definition at line 91 of file view-val.hpp.

Member Typedef Documentation

◆ Var

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
typedef View::VarType Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::Var
protected

The corresponding variable.

Definition at line 97 of file view-val.hpp.

Constructor & Destructor Documentation

◆ ViewValBrancher() [1/2]

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::ViewValBrancher ( Space & home,
ViewValBrancher< View, n, Val, a, Filter, Print > & b )
protected

Constructor for cloning b.

◆ ViewValBrancher() [2/2]

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::ViewValBrancher ( Home home,
ViewArray< View > & x,
ViewSel< View > * vs[n],
ValSelCommitBase< View, Val > * vsc,
BranchFilter< Var > bf,
VarValPrint< Var, Val > vvp )
inlineprotected

Constructor for creation.

Definition at line 227 of file view-val.hpp.

Member Function Documentation

◆ choice() [1/2]

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
const Choice * Gecode::ViewValBrancher< 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::ViewValBrancher< View, n, Val, a, Filter, Print >::choice ( const Space & home,
Archive & e )
virtual

Return choice.

Implements Gecode::Brancher.

Reimplemented in Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >.

Definition at line 280 of file view-val.hpp.

◆ commit()

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
ExecStatus Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::commit ( Space & home,
const Choice & c,
unsigned int b )
virtual

Perform commit for choice c and alternative b.

Implements Gecode::Brancher.

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

Definition at line 292 of file view-val.hpp.

◆ ngl()

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
NGL * Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::ngl ( Space & home,
const Choice & c,
unsigned int b ) const
virtual

Create no-good literal for choice c and alternative b.

Reimplemented from Gecode::Brancher.

Definition at line 306 of file view-val.hpp.

◆ print()

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
void Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::print ( const Space & home,
const Choice & c,
unsigned int b,
std::ostream & o ) const
virtual

Print branch for choice c and alternative b.

Prints an explanation of the alternative b of choice c on the stream o.

Reimplemented from Gecode::Brancher.

Definition at line 317 of file view-val.hpp.

◆ copy()

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
Actor * Gecode::ViewValBrancher< 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::ViewValBrancher< View, n, Val, a, Filter, Print >::dispose ( Space & home)
inlinevirtual

Delete brancher and return its size.

Reimplemented from Gecode::ViewBrancher< View, Filter, n >.

Reimplemented in Gecode::Int::LDSB::LDSBBrancher< View, n, Val, a, Filter, Print >.

Definition at line 331 of file view-val.hpp.

◆ post()

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

Brancher post function.

Definition at line 242 of file view-val.hpp.

Member Data Documentation

◆ vsc

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
ValSelCommitBase<View,Val>* Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::vsc
protected

Value selection and commit object.

Definition at line 99 of file view-val.hpp.

◆ p

template<class View, int n, class Val, unsigned int a, class Filter, class Print>
Print Gecode::ViewValBrancher< View, n, Val, a, Filter, Print >::p
protected

Print function.

Definition at line 101 of file view-val.hpp.


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