Generated on Sat Feb 7 2015 02:01:50 for Gecode by doxygen 1.8.9.1
Gecode::Iter::Ranges::NaryUnion Class Reference

Range iterator for union of iterators. More...

#include <ranges-union.hpp>

Public Member Functions

template<class I , class J >
RangeListIter::RangeListtwo (I &i, J &j)
 
- Public Member Functions inherited from Gecode::Iter::Ranges::RangeListIter
 ~RangeListIter (void)
 Destructor. More...
 
 RangeListIter (void)
 Default constructor. More...
 
 RangeListIter (const RangeListIter &i)
 Copy constructor. More...
 
 RangeListIter (Region &r)
 Initialize. More...
 
void init (Region &r)
 Initialize. More...
 
RangeListIteroperator= (const RangeListIter &i)
 Assignment operator. More...
 
bool operator() (void) const
 Test whether iterator is still at a range or done. More...
 
void operator++ (void)
 Move iterator to next range (if possible) More...
 
void reset (void)
 Reset iterator to start. More...
 
int min (void) const
 Return smallest value of range. More...
 
int max (void) const
 Return largest value of range. More...
 
unsigned int width (void) const
 Return width of range (distance between minimum and maximum) More...
 

Protected Member Functions

template<class I , class J >
RangeListtwo (I &i, J &j)
 Return range list for union of two iterators. More...
 
template<class I >
void insert (I &i, RangeList *&u)
 Insert ranges from i into u. More...
 
- Protected Member Functions inherited from Gecode::Iter::Ranges::RangeListIter
void set (RangeList *l)
 Set range lists. More...
 
RangeListget (void) const
 Get head of current range list. More...
 
RangeListrange (int min, int max, RangeList *&f)
 Create new range possibly from freelist f and init. More...
 
RangeListrange (int min, int max)
 Create new range possibly and init. More...
 
template<class I >
RangeListrange (I &i, RangeList *&f)
 Create new range possibly from freelist f and init. More...
 
template<class I >
RangeListrange (I &i)
 Create new range possibly and init. More...
 
template<class I >
RangeListcopy (I &i)
 Copy the iterator i to a range list. More...
 

Protected Attributes

RangeListf
 Freelist used for allocation. More...
 
- Protected Attributes inherited from Gecode::Iter::Ranges::RangeListIter
RLIOrlio
 Reference to shared object. More...
 
RangeListh
 Head of range list. More...
 
RangeListc
 Current list element. More...
 

Constructors and initialization

 NaryUnion (void)
 Default constructor. More...
 
template<class I >
 NaryUnion (Region &r, I &i)
 Initialize with single iterator i. More...
 
template<class I , class J >
 NaryUnion (Region &r, I &i, J &j)
 Initialize with iterators i and j. More...
 
template<class I >
 NaryUnion (Region &r, I *i, int n)
 Initialize with n iterators in i. More...
 
template<class I >
void init (Region &r, I &i)
 Initialize with single iterator i. More...
 
template<class I , class J >
void init (Region &r, I &i, J &j)
 Initialize with iterators i and j. More...
 
template<class I >
void init (Region &r, I *i, int n)
 Initialize with n iterators in i. More...
 
template<class I >
void operator|= (I &i)
 Add iterator i. More...
 
NaryUnionoperator= (const NaryUnion &m)
 Assignment operator (both iterators must be allocated from the same region) More...
 

Detailed Description

Range iterator for union of iterators.

Definition at line 78 of file ranges-union.hpp.

Constructor & Destructor Documentation

Gecode::Iter::Ranges::NaryUnion::NaryUnion ( void  )
inline

Default constructor.

Definition at line 279 of file ranges-union.hpp.

template<class I >
Gecode::Iter::Ranges::NaryUnion::NaryUnion ( Region r,
I &  i 
)
inline

Initialize with single iterator i.

Definition at line 331 of file ranges-union.hpp.

template<class I , class J >
Gecode::Iter::Ranges::NaryUnion::NaryUnion ( Region r,
I &  i,
J &  j 
)
inline

Initialize with iterators i and j.

Definition at line 336 of file ranges-union.hpp.

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

Initialize with n iterators in i.

Definition at line 341 of file ranges-union.hpp.

Member Function Documentation

template<class I , class J >
RangeList* Gecode::Iter::Ranges::NaryUnion::two ( I &  i,
J &  j 
)
protected

Return range list for union of two iterators.

template<class I >
void Gecode::Iter::Ranges::NaryUnion::insert ( I &  i,
RangeList *&  u 
)
protected

Insert ranges from i into u.

Definition at line 227 of file ranges-union.hpp.

template<class I >
void Gecode::Iter::Ranges::NaryUnion::init ( Region r,
I &  i 
)
inline

Initialize with single iterator i.

Definition at line 284 of file ranges-union.hpp.

template<class I , class J >
void Gecode::Iter::Ranges::NaryUnion::init ( Region r,
I &  i,
J &  j 
)
inline

Initialize with iterators i and j.

Definition at line 292 of file ranges-union.hpp.

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

Initialize with n iterators in i.

Definition at line 300 of file ranges-union.hpp.

template<class I >
void Gecode::Iter::Ranges::NaryUnion::operator|= ( I &  i)
inline

Add iterator i.

Definition at line 347 of file ranges-union.hpp.

NaryUnion & Gecode::Iter::Ranges::NaryUnion::operator= ( const NaryUnion m)
inline

Assignment operator (both iterators must be allocated from the same region)

Definition at line 354 of file ranges-union.hpp.

template<class I , class J >
RangeListIter::RangeList* Gecode::Iter::Ranges::NaryUnion::two ( I &  i,
J &  j 
)

Definition at line 184 of file ranges-union.hpp.

Member Data Documentation

RangeList* Gecode::Iter::Ranges::NaryUnion::f
protected

Freelist used for allocation.

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


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