Generated on Thu Apr 11 14:00:02 2019 for Gecode by doxygen 1.6.3

Gecode::Int::LDSB::ValueSequenceSymmetryImp< View > Class Template Reference

Implementation of a value sequence symmetry. More...

#include <ldsb.hh>

List of all members.

Public Member Functions

 ValueSequenceSymmetryImp (Space &home, int *_values, unsigned int n, unsigned int seqsize)
 Constructor for creation.
 ValueSequenceSymmetryImp (Space &home, const ValueSequenceSymmetryImp< View > &vss)
 Copy constructor.
virtual size_t dispose (Space &home)
 Disposal.
void update (Literal)
 Left-branch update.
virtual ArgArray< Literalsymmetric (Literal, const ViewArray< View > &) const
 Compute symmetric literals.
SymmetryImp< View > * copy (Space &home) const
 Copy function.
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.).

Protected Attributes

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

Detailed Description

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

Implementation of a value sequence symmetry.

Definition at line 265 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 
) [inline]

Constructor for creation.

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

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

Copy constructor.

Definition at line 304 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 [inline, protected]

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

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

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

Disposal.

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

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

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

Left-branch update.

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

Definition at line 326 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  )  const [inline, virtual]

Copy function.

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

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

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

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

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

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

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

Definition at line 140 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 269 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 271 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 273 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 275 of file ldsb.hh.

Which sequences are dead.

Definition at line 277 of file ldsb.hh.


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