Generated on Mon Aug 25 11:35:52 2008 for Gecode by doxygen 1.5.6

Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX > Class Template Reference
[Range iterators with virtual member functions]

Inherits Gecode::Iter::Ranges::MinMax, and Gecode::Iter::Ranges::Virt::Iterator.

List of all members.


Detailed Description

template<int UMIN, int UMAX>
class Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >

Range iterator for computing the complement (described by template arguments).

The complement is computed with respect to a given universe set provided as template arguments (UMIN ... UMAX). The universe must always be a superset!

Definition at line 53 of file virtual-ranges-compl.icc.


Constructors and initialization

 Compl (void)
 Default constructor.
 Compl (Iterator *i)
 Initialize with iterator i.
 ~Compl (void)
 Destructor.

Range access

virtual int min (void) const
 Return smallest value of range.
virtual int max (void) const
 Return largest value of range.
virtual unsigned int width (void) const
 Return width of range (distance between minimum and maximum).

Iteration control

void operator++ (void)
 Move iterator to next range (if possible).
virtual bool operator() (void)
 Test whether iterator is still at a range or done.

Protected Member Functions

void start (void)
 Initialize.

Protected Attributes

Iteratori
 Iterator to compute complement for.

Constructor & Destructor Documentation

template<int UMIN, int UMAX>
Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::Compl ( void   )  [inline]

Default constructor.

Definition at line 162 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::Compl ( Iterator i  )  [inline]

Initialize with iterator i.

Definition at line 166 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::~Compl ( void   )  [inline]

Destructor.

Definition at line 171 of file virtual-ranges-compl.icc.


Member Function Documentation

template<int UMIN, int UMAX>
void Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::start ( void   )  [inline, protected]

Initialize.

Definition at line 141 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
int Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::min ( void   )  const [inline, virtual]

Return smallest value of range.

Reimplemented from Gecode::Iter::Ranges::MinMax.

Definition at line 192 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
int Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::max ( void   )  const [inline, virtual]

Return largest value of range.

Reimplemented from Gecode::Iter::Ranges::MinMax.

Definition at line 196 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
unsigned int Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::width ( void   )  const [inline, virtual]

Return width of range (distance between minimum and maximum).

Reimplemented from Gecode::Iter::Ranges::MinMax.

Definition at line 200 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
void Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::operator++ ( void   )  [inline, virtual]

Move iterator to next range (if possible).

Implements Gecode::Iter::Ranges::Virt::Iterator.

Definition at line 175 of file virtual-ranges-compl.icc.

template<int UMIN, int UMAX>
bool Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::operator() ( void   )  [inline, virtual]

Test whether iterator is still at a range or done.

Implements Gecode::Iter::Ranges::Virt::Iterator.

Definition at line 188 of file virtual-ranges-compl.icc.


Member Data Documentation

template<int UMIN, int UMAX>
Iterator* Gecode::Iter::Ranges::Virt::Compl< UMIN, UMAX >::i [protected]

Iterator to compute complement for.

Definition at line 56 of file virtual-ranges-compl.icc.


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