Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.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.
 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

◆ 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()

◆ 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

◆ dispose()

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: