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 Choice * | choice (Space &home)
| Return choice.
virtual const Choice * | choice (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 NGL * | ngl (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 Actor * | copy (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< 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::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 )

inline protected

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

Return choice.

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 271 of file view-val.hpp.

## 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

Perform cloning.

Implements Gecode::Actor.

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 263 of file view-val.hpp.

## 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 | ) |

inline virtual

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 )

inline static

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:

- gecode/kernel/branch/view-val.hpp