Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::Iter::Ranges::NaryAppend< I > Class Template Reference

Range iterator for appending arbitrarily many iterators. More...

#include <ranges-append.hpp>

Protected Attributes

I * r
 The array of iterators to be appended.
int n
 Number of iterators.
int active
 Number of current iterator being processed.
Protected Attributes inherited from Gecode::Iter::Ranges::MinMax
int mi
 Minimum of current range.
int ma
 Maximum of current range.

Constructors and initialization

 NaryAppend (void)
 Default constructor.
 NaryAppend (I *i, int n)
 Initialize with n iterators in i.
void init (I *i, int n)
 Initialize with n iterators in i.

Iteration control

void operator++ (void)
 Move iterator to next range (if possible)

Additional Inherited Members

 MinMax (void)
 Default constructor.
 MinMax (int min, int max)
 Initialize with range min to max.
bool operator() (void) const
 Test whether iterator is still at a range or done.
int min (void) const
 Return smallest value of range.
int max (void) const
 Return largest value of range.
unsigned int width (void) const
 Return width of range (distance between minimum and maximum)
Protected Member Functions inherited from Gecode::Iter::Ranges::MinMax
void finish (void)
 Set range such that iteration stops

Detailed Description

template<class I>
class Gecode::Iter::Ranges::NaryAppend< I >

Range iterator for appending arbitrarily many iterators.

The iterators are allowed to be adjacent but not to overlap (in this case, use Gecode::Iter::NaryUnion)

Definition at line 81 of file ranges-append.hpp.

Constructor & Destructor Documentation

◆ NaryAppend() [1/2]

template<class I>
Gecode::Iter::Ranges::NaryAppend< I >::NaryAppend ( void )
inline

Default constructor.

Definition at line 187 of file ranges-append.hpp.

◆ NaryAppend() [2/2]

template<class I>
Gecode::Iter::Ranges::NaryAppend< I >::NaryAppend ( I * i,
int n )
inline

Initialize with n iterators in i.

Definition at line 191 of file ranges-append.hpp.

Member Function Documentation

◆ init()

template<class I>
void Gecode::Iter::Ranges::NaryAppend< I >::init ( I * i,
int n )
inline

Initialize with n iterators in i.

Definition at line 204 of file ranges-append.hpp.

◆ operator++()

template<class I>
void Gecode::Iter::Ranges::NaryAppend< I >::operator++ ( void )
inline

Move iterator to next range (if possible)

Definition at line 164 of file ranges-append.hpp.

Member Data Documentation

◆ r

template<class I>
I* Gecode::Iter::Ranges::NaryAppend< I >::r
protected

The array of iterators to be appended.

Definition at line 84 of file ranges-append.hpp.

◆ n

template<class I>
int Gecode::Iter::Ranges::NaryAppend< I >::n
protected

Number of iterators.

Definition at line 86 of file ranges-append.hpp.

◆ active

template<class I>
int Gecode::Iter::Ranges::NaryAppend< I >::active
protected

Number of current iterator being processed.

Definition at line 88 of file ranges-append.hpp.


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