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.
| ValueSequenceSymmetryImp (Space &home, const ValueSequenceSymmetryImp< View > &vss)
| Copy constructor.
virtual size_t | dispose (Space &home)
| Disposal.
void | update (Literal)
| Left-branch update.
virtual ArgArray< Literal > | symmetric (Literal, const ViewArray< View > &) const
| Compute symmetric literals.
SymmetryImp< View > * | copy (Space &home) const
| Copy function.
ArgArray< Literal > | symmetric (Literal l, const ViewArray< IntView > &x) const
| Compute symmetric literals.
ArgArray< Literal > | symmetric (Literal l, const ViewArray< BoolView > &x) const
| Compute symmetric literals.
ArgArray< Literal > | symmetric (Literal l, const ViewArray< Set::SetView > &x) const
Public Member Functions inherited from Gecode::Int::LDSB::SymmetryImp< View >
virtual | ~SymmetryImp (void)
| Unused destructor.

## 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< Space > | dead_sequences
| Which sequences are dead.

## 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.
static void | operator delete (void *, Space &)
| Return memory to space.
static void | operator delete (void *)
| Needed for exceptions.

## 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]

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]

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]

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:

- gecode/int/ldsb.hh
- gecode/int/ldsb/sym-imp.hpp