Generated on Thu Apr 11 13:59:45 2019 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 <view-sel.hpp>

List of all members.

Protected Types

typedef ViewSel< typename
Merit::View >::Var 
Var
 The corresponding variable type.
typedef ViewSel< typename
Merit::View >::View 
View
 Define 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< 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.

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

template<class Choose, class Merit>
typedef ViewSel<typename Merit::View>::Var Gecode::ViewSelChoose< Choose, Merit >::Var [protected]
template<class Choose, class Merit>
typedef ViewSel<typename Merit::View>::View Gecode::ViewSelChoose< Choose, Merit >::View [protected]
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< Var > &  vb 
) [inline]

Constructor for creation.

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

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

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 569 of file view-sel.hpp.

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

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

Definition at line 586 of file 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,
BrancherFilter< View > &  f 
) [inline, virtual]
template<class Choose , class Merit >
void Gecode::ViewSelChoose< Choose, Merit >::brk ( Space home,
ViewArray< View > &  x,
int *  ties,
int &  n 
) [inline, virtual]

Break ties in x and update to new ties.

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

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

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 674 of file 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 >.

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

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

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

Member Data Documentation

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

How to choose.

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

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: