Gecode::ViewSel< _View > Class Template Referenceabstract

Abstract class for view selection. More...

`#include <view-sel.hpp>`

## Public Types

typedef _View | View
| Define the view type.
typedef View::VarType | Var
| The corresponding variable type.

## Initialization

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

## View selection and tie breaking

virtual int | select (Space &home, ViewArray< View > &x, int s)=0
| 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)=0
| Select a view from x starting from s and return its position.
virtual int | select (Space &home, ViewArray< View > &x, int s, BrancherNoFilter< 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)=0
| Select ties from x starting from s.
virtual void | ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n, BrancherFilter< View > &f)=0
| Select ties from x starting from s.
virtual void | ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n, BrancherNoFilter< View > &f)
| 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 int | select (Space &home, ViewArray< View > &x, int *ties, int n)=0
| Select a view from x considering views with positions in ties.

## Resource management and cloning

virtual ViewSel< View > * | copy (Space &home)=0
| Create copy during cloning.
virtual bool | notice (void) const
| Whether dispose must always be called (that is, notice is needed).
virtual void | dispose (Space &home)
| Dispose view selection.
virtual | ~ViewSel (void)
| Unused destructor.

## Memory management

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.
static void | operator delete (void *p)
| Needed for exceptions.

## Detailed Description

template<class _View>
class Gecode::ViewSel< _View >

Abstract class for view selection.

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

## Member Typedef Documentation

## View

template<class _View>

typedef _View Gecode::ViewSel< _View >::View

Define the view type.

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

## Var

template<class _View>

typedef View::VarType Gecode::ViewSel< _View >::Var

The corresponding variable type.

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

## Constructor & Destructor Documentation

## ViewSel() [1/2]

template<class View>

Gecode::ViewSel< View >::ViewSel | ( | Space & | home,
|  | const VarBranch< Var > & | vb )

inline

Constructor for creation.

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

## ViewSel() [2/2]

template<class View>

Gecode::ViewSel< View >::ViewSel | ( | Space & | home,
|  | ViewSel< View > & | vs )

inline

Constructor for copying during cloning.

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

## ~ViewSel()

template<class View>

Gecode::ViewSel< View >::~ViewSel | ( | void |  | ) |

virtual

Unused destructor.

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

## Member Function Documentation

## select() [1/4]

template<class _View>

virtual int Gecode::ViewSel< _View >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s )

pure virtual

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

## select() [2/4]

template<class _View>

virtual int Gecode::ViewSel< _View >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | BrancherFilter< View > & | f )

pure virtual

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

## select() [3/4]

template<class View>

int Gecode::ViewSel< View >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | BrancherNoFilter< View > & | f )

virtual

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

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

## ties() [1/3]

template<class _View>

virtual void Gecode::ViewSel< _View >::ties | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | int * | ties,
|  | int & | n )

pure virtual

Select ties from x starting from s.

## ties() [2/3]

template<class _View>

virtual void Gecode::ViewSel< _View >::ties | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | int * | ties,
|  | int & | n,
|  | BrancherFilter< View > & | f )

pure virtual

Select ties from x starting from s.

## ties() [3/3]

template<class View>

void Gecode::ViewSel< View >::ties | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int | s,
|  | int * | ties,
|  | int & | n,
|  | BrancherNoFilter< View > & | f )

virtual

Select ties from x starting from s.

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

## brk()

template<class _View>

virtual void Gecode::ViewSel< _View >::brk | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int * | ties,
|  | int & | n )

pure virtual

Break ties in x and update to new ties.

## select() [4/4]

template<class _View>

virtual int Gecode::ViewSel< _View >::select | ( | Space & | home,
|  | ViewArray< View > & | x,
|  | int * | ties,
|  | int | n )

pure virtual

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

## copy()

template<class _View>

virtual ViewSel< View > * Gecode::ViewSel< _View >::copy | ( | Space & | home | ) |

pure virtual

Create copy during cloning.

Implemented in Gecode::ViewSelMax< Merit >, Gecode::ViewSelMaxTbl< Merit >, Gecode::ViewSelMin< Merit >, Gecode::ViewSelMinTbl< Merit >, Gecode::ViewSelNone< View >, and Gecode::ViewSelRnd< View >.

## notice()

template<class View>

bool Gecode::ViewSel< View >::notice | ( | void |  | ) | const

virtual

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

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

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

## dispose()

template<class View>

void Gecode::ViewSel< View >::dispose | ( | Space & | home | ) |

virtual

Dispose view selection.

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

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

## operator new()

template<class View>

void * Gecode::ViewSel< View >::operator new | ( | size_t | s,
|  | Space & | home )

inline static

Allocate memory from space.

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

## operator delete() [1/2]

template<class View>

void Gecode::ViewSel< View >::operator delete | ( | void * | p,
|  | Space & | home )

inline static

Return memory to space.

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

## operator delete() [2/2]

template<class View>

void Gecode::ViewSel< View >::operator delete | ( | void * | p | ) |

inline static

Needed for exceptions.

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

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

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