Generated on Sat Feb 7 2015 02:01:41 for Gecode by doxygen 1.8.9.1

Abstract class for view selection. More...

#include <brancher-view-sel.hpp>

Public Types

typedef _View View
 Define the view type. More...
 
typedef BranchTraits< typename View::VarType >::Filter BranchFilter
 The branch filter that corresponds to the view type. More...
 

Initialization

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

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. More...
 
virtual int select (Space &home, ViewArray< View > &x, int s, BranchFilter bf)=0
 Select a view from x starting from s and return its position. More...
 
virtual void ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n)=0
 Select ties from x starting from s. More...
 
virtual void ties (Space &home, ViewArray< View > &x, int s, int *ties, int &n, BranchFilter bf)=0
 Select ties from x starting from s. More...
 
virtual void brk (Space &home, ViewArray< View > &x, int *ties, int &n)=0
 Break ties in x and update to new ties. More...
 
virtual int select (Space &home, ViewArray< View > &x, int *ties, int n)=0
 Select a view from x considering views with positions in ties. More...
 

Resource management and cloning

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

Memory management

static void * operator new (size_t s, Space &home)
 Allocate memory from space. More...
 
static void operator delete (void *p, Space &home)
 Return memory to space. More...
 
static void operator delete (void *p)
 Needed for exceptions. More...
 

Detailed Description

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

Abstract class for view selection.

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

Member Typedef Documentation

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

Define the view type.

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

template<class _View>
typedef BranchTraits<typename View::VarType>::Filter Gecode::ViewSel< _View >::BranchFilter

The branch filter that corresponds to the view type.

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

Constructor & Destructor Documentation

template<class View >
Gecode::ViewSel< View >::ViewSel ( Space home,
const VarBranch vb 
)
inline

Constructor for creation.

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

template<class View >
Gecode::ViewSel< View >::ViewSel ( Space home,
bool  shared,
ViewSel< View > &  vs 
)
inline

Constructor for copying during cloning.

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

Member Function Documentation

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.

Implemented in Gecode::ViewSelChoose< ChooseMax, Merit >, Gecode::ViewSelChoose< ChooseMin, Merit >, Gecode::ViewSelRnd< View >, and Gecode::ViewSelNone< View >.

template<class _View>
virtual int Gecode::ViewSel< _View >::select ( Space home,
ViewArray< View > &  x,
int  s,
BranchFilter  bf 
)
pure virtual

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

Implemented in Gecode::ViewSelChoose< ChooseMax, Merit >, and Gecode::ViewSelChoose< ChooseMin, Merit >.

template<class _View>
virtual void Gecode::ViewSel< _View >::ties ( Space home,
ViewArray< View > &  x,
int  s,
int *  ties,
int &  n 
)
pure virtual
template<class _View>
virtual void Gecode::ViewSel< _View >::ties ( Space home,
ViewArray< View > &  x,
int  s,
int *  ties,
int &  n,
BranchFilter  bf 
)
pure virtual
template<class _View>
virtual void Gecode::ViewSel< _View >::brk ( Space home,
ViewArray< View > &  x,
int *  ties,
int &  n 
)
pure virtual
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.

Implemented in Gecode::ViewSelChoose< ChooseMax, Merit >, Gecode::ViewSelChoose< ChooseMin, Merit >, Gecode::ViewSelRnd< View >, and Gecode::ViewSelNone< View >.

template<class _View>
virtual ViewSel<View>* Gecode::ViewSel< _View >::copy ( Space home,
bool  shared 
)
pure virtual
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::ViewSelChoose< Choose, Merit >, Gecode::ViewSelChoose< ChooseMax, Merit >, and Gecode::ViewSelChoose< ChooseMin, Merit >.

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

template<class View >
void Gecode::ViewSel< View >::dispose ( Space home)
virtual
template<class View >
void * Gecode::ViewSel< View >::operator new ( size_t  s,
Space home 
)
inlinestatic

Allocate memory from space.

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

template<class View >
void Gecode::ViewSel< View >::operator delete ( void *  p,
Space home 
)
inlinestatic

Return memory to space.

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

template<class View >
void Gecode::ViewSel< View >::operator delete ( void *  p)
inlinestatic

Needed for exceptions.

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


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