Generated on Wed Nov 1 15:05:21 2006 for Gecode by doxygen 1.4.5

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!

Requires

 #include "gecode/iter.hh" 

Definition at line 38 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 148 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 152 of file virtual-ranges-compl.icc.

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

Destructor.

Definition at line 157 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 127 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 178 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 182 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 186 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 161 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 174 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 41 of file virtual-ranges-compl.icc.


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