Generated on Fri Mar 20 15:56:46 2015 for Gecode by doxygen 1.6.3

Gecode::ViewSelChoose< Choose, Merit > Class Template Reference
[Generic view selection for brancher based on view and value selection]

Choose view according to merit. More...

#include <brancher-view-sel.hpp>

List of all members.

Protected Types

typedef ViewSel< typename
Merit::View >::View 
View
 Define the view type.
typedef ViewSel< typename
Merit::View >::BranchFilter 
BranchFilter
 The branch filter that corresponds to the view type.
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 &vb)
 Constructor for creation.
 ViewSelChoose (Space &home, bool shared, 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, BranchFilter bf)
 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, BranchFilter bf)
 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.

Detailed Description

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

Choose view according to merit.

Definition at line 198 of file brancher-view-sel.hpp.


Member Typedef Documentation

template<class Choose, class Merit>
typedef ViewSel<typename Merit::View>::View Gecode::ViewSelChoose< Choose, Merit >::View [protected]
template<class Choose, class Merit>
typedef ViewSel<typename Merit::View>::BranchFilter Gecode::ViewSelChoose< Choose, Merit >::BranchFilter [protected]

The branch filter that corresponds to the view type.

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

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

Definition at line 201 of file brancher-view-sel.hpp.

template<class Choose, class Merit>
typedef Merit::Val Gecode::ViewSelChoose< Choose, Merit >::Val [protected]

Constructor & Destructor Documentation

template<class Choose , class Merit >
Gecode::ViewSelChoose< Choose, Merit >::ViewSelChoose ( Space home,
const VarBranch vb 
) [inline]

Constructor for creation.

Definition at line 526 of file brancher-view-sel.hpp.

template<class Choose, class Merit>
Gecode::ViewSelChoose< Choose, Merit >::ViewSelChoose ( Space home,
bool  shared,
ViewSelChoose< Choose, Merit > &  vs 
) [inline]

Constructor for copying during cloning.

Definition at line 531 of file brancher-view-sel.hpp.


Member Function Documentation

template<class Choose , class Merit >
int Gecode::ViewSelChoose< Choose, Merit >::select ( Space home,
ViewArray< View > &  x,
int  s 
) [inline, virtual]

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

Definition at line 537 of file brancher-view-sel.hpp.

template<class Choose , class Merit >
int Gecode::ViewSelChoose< Choose, Merit >::select ( Space home,
ViewArray< View > &  x,
int  s,
BranchFilter  bf 
) [inline, virtual]

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

Definition at line 554 of file brancher-view-sel.hpp.

template<class Choose , class Merit >
void Gecode::ViewSelChoose< Choose, Merit >::ties ( Space home,
ViewArray< View > &  x,
int  s,
int *  ties,
int &  n 
) [inline, virtual]
template<class Choose , class Merit >
void Gecode::ViewSelChoose< Choose, Merit >::ties ( Space home,
ViewArray< View > &  x,
int  s,
int *  ties,
int &  n,
BranchFilter  bf 
) [inline, virtual]
template<class Choose , class Merit >
void Gecode::ViewSelChoose< Choose, Merit >::brk ( Space home,
ViewArray< View > &  x,
int *  ties,
int &  n 
) [inline, virtual]
template<class Choose , class Merit >
int Gecode::ViewSelChoose< Choose, Merit >::select ( Space home,
ViewArray< View > &  x,
int *  ties,
int  n 
) [inline, virtual]

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

Definition at line 645 of file brancher-view-sel.hpp.

template<class Choose , class Merit >
bool Gecode::ViewSelChoose< Choose, Merit >::notice ( void   )  const [inline, virtual]

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

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

Definition at line 660 of file brancher-view-sel.hpp.

template<class Choose , class Merit >
void Gecode::ViewSelChoose< Choose, Merit >::dispose ( Space home  )  [inline, virtual]

Delete view selection.

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

Definition at line 666 of file brancher-view-sel.hpp.


Member Data Documentation

template<class Choose, class Merit>
Choose Gecode::ViewSelChoose< Choose, Merit >::c [protected]

How to choose.

Definition at line 205 of file brancher-view-sel.hpp.

template<class Choose, class Merit>
Merit Gecode::ViewSelChoose< Choose, Merit >::m [protected]

The merit object used.

Definition at line 207 of file brancher-view-sel.hpp.


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