Generated on Wed Nov 5 2014 05:18:43 for Gecode by doxygen 1.7.6.1
Gecode::Int::LDSB::VariableSequenceSymmetryImp< View > Class Template Reference

Implementation of a variable sequence symmetry. More...

#include <ldsb.hh>

List of all members.

Public Member Functions

 VariableSequenceSymmetryImp (Space &home, int *_indices, unsigned int n, unsigned int seqsize)
 Constructor for creation.
 VariableSequenceSymmetryImp (Space &home, bool share, const VariableSequenceSymmetryImp< View > &s)
 Copy constructor.
virtual size_t dispose (Space &home)
 Disposal.
void update (Literal)
 Search left-branch update.
virtual ArgArray< Literalsymmetric (Literal, const ViewArray< View > &) const
 Compute symmetric literals.
SymmetryImp< View > * copy (Space &home, bool share) const
 Copy function.
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< Set::SetView > &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

unsigned int * indices
 Array of variable indices.
unsigned int n_indices
 Total number of indices (n_seqs * seq_size)
unsigned int seq_size
 Size of each sequence in symmetry.
unsigned int n_seqs
 Number of sequences in symmetry.
int * lookup
 Map from variable's index to its sequence and position.
unsigned int lookup_size
 Size of lookup.

Detailed Description

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

Implementation of a variable sequence symmetry.

Definition at line 225 of file ldsb.hh.


Constructor & Destructor Documentation

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

Constructor for creation.

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

template<class View >
Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::VariableSequenceSymmetryImp ( Space home,
bool  share,
const VariableSequenceSymmetryImp< View > &  s 
)

Copy constructor.

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


Member Function Documentation

template<class View >
int Gecode::Int::LDSB::VariableSequenceSymmetryImp< 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 179 of file sym-imp.hpp.

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

Disposal.

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

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

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

Search left-branch update.

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

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

template<class View >
ArgArray< Literal > Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::symmetric ( Literal  l,
const ViewArray< View > &  x 
) const [virtual]

Compute symmetric literals.

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

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

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

Copy function.

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

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

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


Member Data Documentation

template<class View>
unsigned int* Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::indices [protected]

Array of variable indices.

Definition at line 229 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::n_indices [protected]

Total number of indices (n_seqs * seq_size)

Definition at line 231 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::seq_size [protected]

Size of each sequence in symmetry.

Definition at line 233 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::n_seqs [protected]

Number of sequences in symmetry.

Definition at line 235 of file ldsb.hh.

template<class View>
int* Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::lookup [protected]

Map from variable's index to its sequence and position.

Definition at line 244 of file ldsb.hh.

template<class View>
unsigned int Gecode::Int::LDSB::VariableSequenceSymmetryImp< View >::lookup_size [protected]

Size of lookup.

Definition at line 246 of file ldsb.hh.


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