Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
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.
 
- Public Member Functions inherited from Gecode::ViewSel< Merit::View >
 ViewSel (Space &home, const VarBranch< Var > &vb)
 Constructor for creation.
 
 ViewSel (Space &home, ViewSel< View > &vs)
 Constructor for copying during cloning.
 
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 int select (Space &home, ViewArray< View > &x, int *ties, int n)=0
 Select a view from x considering views with positions in ties.
 
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 ViewSel< View > * copy (Space &home)=0
 Create copy during cloning.
 
virtual ~ViewSel (void)
 Unused destructor.
 
- Static Public Member Functions inherited from Gecode::ViewSel< Merit::View >
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 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 >
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 >
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 >
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

◆ 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

◆ 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::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::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

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: