Gecode::ViewSelChoose< Choose, Merit > Class Template Reference

Choose view according to merit. More...

`#include <view-sel.hpp>`

## Protected Types

typedef ViewSel< typenameMerit::View >::Var | Var
typedef ViewSel< typenameMerit::View >::View | View
typedef Merit::Val | Val
| Type of merit.

## Protected Attributes

Choose | c
| How to choose.
Merit | m
| The merit object used.

## Initialization

| ViewSelChoose (Space &home, const VarBranch< Var > &vb)
| Constructor for creation.
| ViewSelChoose (Space &home, ViewSelChoose< Choose, Merit > &vs)
| Constructor for copying during cloning.

## View selection and tie breaking

virtual int | select (Space &home, ViewArray< View > &x, int s)
| Select a view from x starting from s and return its position.
virtual int | select (Space &home, ViewArray< View > &x, int s, BrancherFilter< View > &f)
| Select a view from x starting from s and return its position.
virtual void | ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n)
| Select ties from x starting from s.
virtual void | ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n, BrancherFilter< View > &f)
| Select ties from x starting from s.
virtual void | brk (Space &home, ViewArray< View > &x, int *ties, int &n)
| Break ties in x and update to new ties.
virtual int | select (Space &home, ViewArray< View > &x, int *ties, int n)
| Select a view from x considering views with positions in ties.

## Resource management and cloning

virtual bool | notice (void) const
| Whether dispose must always be called (that is, notice is needed).
virtual void | dispose (Space &home)
| Delete view selection.

## Additional Inherited Members

Public Types inherited from Gecode::ViewSel< Merit::View >
typedef Merit::View | View
| Define the view type.
typedef View::VarType | Var
| The corresponding variable type.
| ViewSel (Space &home, const VarBranch< Var > &vb)
| Constructor for creation.
virtual int | select (Space &home, ViewArray< View > &x, int s)=0
| Select a view from x starting from s and return its position.
virtual void | ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n)=0
| Select ties from x starting from s.
virtual void | brk (Space &home, ViewArray< View > &x, int *ties, int &n)=0
| Break ties in x and update to new ties.
virtual ViewSel< View > * | copy (Space &home)=0
| Create copy during cloning.
virtual | ~ViewSel (void)
| Unused destructor.
static void * | operator new (size_t s, Space &home)
| Allocate memory from space.
static void | operator delete (void *p, Space &home)
| Return memory to space.

## Detailed Description

template<class Choose, class Merit>
class Gecode::ViewSelChoose< Choose, Merit >

Choose view according to merit.

Definition at line 206 of file view-sel.hpp.

## Member Typedef Documentation

## Var

template<class Choose, class Merit>

typedef ViewSel<typenameMerit::View>::Var Gecode::ViewSelChoose< Choose, Merit >::Var

protected

Definition at line 208 of file view-sel.hpp.

## View

template<class Choose, class Merit>

typedef ViewSel<typenameMerit::View>::View Gecode::ViewSelChoose< Choose, Merit >::View

protected

Definition at line 209 of file view-sel.hpp.

## Val

template<class Choose, class Merit>

typedef Merit::Val Gecode::ViewSelChoose< Choose, Merit >::Val

protected

Type of merit.

Definition at line 211 of file view-sel.hpp.

## Constructor & Destructor Documentation

## ViewSelChoose() [1/2]

template<class Choose, class Merit>

Gecode::ViewSelChoose< Choose, Merit >::ViewSelChoose | ( | Space & | home,
|  | const VarBranch< Var > & | vb )

inline

Constructor for creation.

Definition at line 558 of file view-sel.hpp.

## ViewSelChoose() [2/2]

template<class Choose, class Merit>

Gecode::ViewSelChoose< Choose, Merit >::ViewSelChoose | ( | Space & | home,
|  | ViewSelChoose< Choose, Merit > & | vs )

inline

Constructor for copying during cloning.

Definition at line 563 of file view-sel.hpp.

## Member Function Documentation

## select() [1/3]

template<class Choose, class Merit>

int Gecode::ViewSelChoose< Choose, Merit >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s )

virtual

Select a view from x starting from s and return its position.

Definition at line 569 of file view-sel.hpp.

## select() [2/3]

template<class Choose, class Merit>

int Gecode::ViewSelChoose< Choose, Merit >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | BrancherFilter< View > & | f )

virtual

Select a view from x starting from s and return its position.

Definition at line 586 of file view-sel.hpp.

## ties() [1/2]

template<class Choose, class Merit>

void Gecode::ViewSelChoose< Choose, Merit >::ties | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | int * | ties,
|  | int & | n )

virtual

Select ties from x starting from s.

Reimplemented in Gecode::Var< ChooseMax, Merit >, Gecode::Var< ChooseMin, Merit >, Gecode::View< ChooseMax, Merit >, Gecode::View< ChooseMin, Merit >, Gecode::ViewSelChooseTbl< Choose, Merit >, Gecode::ViewSelChooseTbl< ChooseMax, Merit >, and Gecode::ViewSelChooseTbl< ChooseMin, Merit >.

Definition at line 604 of file view-sel.hpp.

## ties() [2/2]

template<class Choose, class Merit>

void Gecode::ViewSelChoose< Choose, Merit >::ties | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | int * | ties,
|  | int & | n,
|  | BrancherFilter< View > & | f )

virtual

Select ties from x starting from s.

Reimplemented in Gecode::ViewSelChooseTbl< Choose, Merit >.

Definition at line 627 of file view-sel.hpp.

## brk()

template<class Choose, class Merit>

void Gecode::ViewSelChoose< Choose, Merit >::brk | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int * | ties,
|  | int & | n )

virtual

Break ties in x and update to new ties.

Reimplemented in Gecode::Var< ChooseMax, Merit >, Gecode::Var< ChooseMin, Merit >, Gecode::View< ChooseMax, Merit >, Gecode::View< ChooseMin, Merit >, Gecode::ViewSelChooseTbl< Choose, Merit >, Gecode::ViewSelChooseTbl< ChooseMax, Merit >, and Gecode::ViewSelChooseTbl< ChooseMin, Merit >.

Definition at line 651 of file view-sel.hpp.

## select() [3/3]

template<class Choose, class Merit>

int Gecode::ViewSelChoose< Choose, Merit >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int * | ties,
|  | int | n )

virtual

Select a view from x considering views with positions in ties.

Definition at line 674 of file view-sel.hpp.

## notice()

template<class Choose, class Merit>

bool Gecode::ViewSelChoose< Choose, Merit >::notice | ( | void |  | ) | const

virtual

Whether dispose must always be called (that is, notice is needed).

Reimplemented from Gecode::ViewSel< Merit::View >.

Reimplemented in Gecode::Var< ChooseMax, Merit >, Gecode::Var< ChooseMin, Merit >, Gecode::View< ChooseMax, Merit >, Gecode::View< ChooseMin, Merit >, Gecode::ViewSelChooseTbl< Choose, Merit >, Gecode::ViewSelChooseTbl< ChooseMax, Merit >, and Gecode::ViewSelChooseTbl< ChooseMin, Merit >.

Definition at line 689 of file view-sel.hpp.

## dispose()

template<class Choose, class Merit>

void Gecode::ViewSelChoose< Choose, Merit >::dispose | ( | Space & | home | ) |

virtual

Delete view selection.

Reimplemented from Gecode::ViewSel< Merit::View >.

Reimplemented in Gecode::Var< ChooseMax, Merit >, Gecode::Var< ChooseMin, Merit >, Gecode::View< ChooseMax, Merit >, Gecode::View< ChooseMin, Merit >, Gecode::ViewSelChooseTbl< Choose, Merit >, Gecode::ViewSelChooseTbl< ChooseMax, Merit >, and Gecode::ViewSelChooseTbl< ChooseMin, Merit >.

Definition at line 695 of file view-sel.hpp.

## Member Data Documentation

## c

template<class Choose, class Merit>

Choose Gecode::ViewSelChoose< Choose, Merit >::c

protected

How to choose.

Definition at line 213 of file view-sel.hpp.

## m

template<class Choose, class Merit>

Merit Gecode::ViewSelChoose< Choose, Merit >::m

protected

The merit object used.

Definition at line 215 of file view-sel.hpp.

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

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