Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
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< Literalsymmetric (Literal, const ViewArray< View > &) const
 Compute symmetric literals.
SymmetryImp< View > * copy (Space &home) const
 Copy function.
ArgArray< Literalsymmetric (Literal l, const ViewArray< IntView > &x) const
 Compute symmetric literals.
ArgArray< Literalsymmetric (Literal l, const ViewArray< BoolView > &x) const
 Compute symmetric literals.
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.

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.

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]

Compute symmetric literals.

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

◆ symmetric() [3/4]

Compute symmetric literals.

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

◆ symmetric() [4/4]

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: