Generated on Sat Feb 7 2015 02:01:47 for Gecode by doxygen 1.8.9.1
Gecode::Int::LDSB::ValueSequenceSymmetryImp< View > Class Template Reference

Implementation of a value sequence symmetry. More...

#include <ldsb.hh>

Public Member Functions

 ValueSequenceSymmetryImp (Space &home, int *_values, unsigned int n, unsigned int seqsize)
 Constructor for creation. More...
 
 ValueSequenceSymmetryImp (Space &home, const ValueSequenceSymmetryImp< View > &vss)
 Copy constructor. More...
 
virtual size_t dispose (Space &home)
 Disposal. More...
 
void update (Literal)
 Left-branch update. More...
 
virtual ArgArray< Literalsymmetric (Literal, const ViewArray< View > &) const
 Compute symmetric literals. More...
 
SymmetryImp< View > * copy (Space &home, bool share) const
 Copy function. More...
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< IntView > &x) const
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< BoolView > &x) const
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< Set::SetView > &x) const
 

Protected Member Functions

int getVal (unsigned int sequence, unsigned int position) const
 Get the value in the specified sequence at the specified position. (Both are zero-based.) More...
 

Protected Attributes

int * values
 Set of sequences. More...
 
unsigned int n_values
 Total number of values (n_seqs * seq_size) More...
 
unsigned int seq_size
 Size of each sequence in symmetry. More...
 
unsigned int n_seqs
 Number of sequences in symmetry. More...
 
Support::BitSet< Spacedead_sequences
 Which sequences are dead. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Int::LDSB::SymmetryImp< View >
static void * operator new (size_t s, Space &home)
 Placement new operator. More...
 
static void operator delete (void *, Space &)
 Return memory to space. More...
 
static void operator delete (void *)
 Needed for exceptions. More...
 

Detailed Description

template<class View>
class Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >

Implementation of a value sequence symmetry.

Definition at line 267 of file ldsb.hh.

Constructor & Destructor Documentation

template<class View >
Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::ValueSequenceSymmetryImp ( Space home,
int *  _values,
unsigned int  n,
unsigned int  seqsize 
)

Constructor for creation.

Definition at line 298 of file sym-imp.hpp.

template<class View >
Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::ValueSequenceSymmetryImp ( Space home,
const ValueSequenceSymmetryImp< View > &  vss 
)

Copy constructor.

Definition at line 309 of file sym-imp.hpp.

Member Function Documentation

template<class View >
int Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::getVal ( unsigned int  sequence,
unsigned int  position 
) const
protected

Get the value in the specified sequence at the specified position. (Both are zero-based.)

Definition at line 292 of file sym-imp.hpp.

template<class View >
size_t Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::dispose ( Space home)
virtual

Disposal.

Implements Gecode::Int::LDSB::SymmetryImp< View >.

Definition at line 323 of file sym-imp.hpp.

template<class View >
void Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::update ( Literal  l)
virtual

Left-branch update.

Implements Gecode::Int::LDSB::SymmetryImp< View >.

Definition at line 331 of file sym-imp.hpp.

template<class View>
virtual ArgArray<Literal> Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::symmetric ( Literal  ,
const ViewArray< View > &   
) const
virtual

Compute symmetric literals.

Implements Gecode::Int::LDSB::SymmetryImp< View >.

template<class View >
SymmetryImp< View > * Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::copy ( Space home,
bool  share 
) const
virtual

Copy function.

Implements Gecode::Int::LDSB::SymmetryImp< View >.

Definition at line 354 of file sym-imp.hpp.

template<>
ArgArray< Literal > Gecode::Int::LDSB::ValueSequenceSymmetryImp< Int::IntView >::symmetric ( Literal  l,
const ViewArray< IntView > &  x 
) const

Definition at line 124 of file sym-imp.cpp.

template<>
ArgArray< Literal > Gecode::Int::LDSB::ValueSequenceSymmetryImp< BoolView >::symmetric ( Literal  l,
const ViewArray< BoolView > &  x 
) const

Definition at line 144 of file sym-imp.cpp.

template<>
ArgArray< Literal > Gecode::Int::LDSB::ValueSequenceSymmetryImp< Set::SetView >::symmetric ( Literal  l,
const ViewArray< Set::SetView > &  x 
) const

Definition at line 143 of file sym-imp.cpp.

Member Data Documentation

template<class View>
int* Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::values
protected

Set of sequences.

Definition at line 271 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::n_values
protected

Total number of values (n_seqs * seq_size)

Definition at line 273 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::seq_size
protected

Size of each sequence in symmetry.

Definition at line 275 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::n_seqs
protected

Number of sequences in symmetry.

Definition at line 277 of file ldsb.hh.

template<class View>
Support::BitSet<Space> Gecode::Int::LDSB::ValueSequenceSymmetryImp< View >::dead_sequences
protected

Which sequences are dead.

Definition at line 279 of file ldsb.hh.


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