Generated on Sat Jan 12 2019 20:58:51 for Gecode by doxygen 1.8.13
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) const
 Copy function. More...
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< IntView > &x) const
 Compute symmetric literals. More...
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< BoolView > &x) const
 Compute symmetric literals. More...
 
template<>
ArgArray< Literalsymmetric (Literal l, const ViewArray< Set::SetView > &x) const
 
- Public Member Functions inherited from Gecode::Int::LDSB::SymmetryImp< View >
virtual ~SymmetryImp (void)
 Unused destructor. More...
 

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 265 of file ldsb.hh.

Constructor & Destructor Documentation

◆ ValueSequenceSymmetryImp() [1/2]

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 293 of file sym-imp.hpp.

◆ ValueSequenceSymmetryImp() [2/2]

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

Copy constructor.

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

Member Function Documentation

◆ getVal()

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 287 of file sym-imp.hpp.

◆ dispose()

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

Disposal.

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

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

◆ update()

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 326 of file sym-imp.hpp.

◆ symmetric() [1/4]

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 >.

◆ copy()

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

Copy function.

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

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

◆ symmetric() [2/4]

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

Compute symmetric literals.

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

◆ symmetric() [3/4]

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

Compute symmetric literals.

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

◆ symmetric() [4/4]

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

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

Member Data Documentation

◆ values

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

Set of sequences.

Definition at line 269 of file ldsb.hh.

◆ n_values

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.

◆ seq_size

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.

◆ n_seqs

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.

◆ dead_sequences

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

Which sequences are dead.

Definition at line 277 of file ldsb.hh.


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