Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Iter::Values::Map< I, M, strict > Class Template Reference

Value iterator for mapping values of a value iterator. More...

#include <values-map.hpp>

Protected Attributes

i
 Input iterator.
 
m
 Mapping object.
 

Constructors and initialization

 Map (void)
 Default constructor.
 
 Map (I &i)
 Initialize with values from i.
 
 Map (I &i, const M &m)
 Initialize with values from i and map m.
 
void init (I &i)
 Initialize with values from i.
 
void init (I &i, const M &m)
 Initialize with values from i and map m.
 

Iteration control

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

Value access

int val (void) const
 Return current value.
 

Detailed Description

template<class I, class M, bool strict = false>
class Gecode::Iter::Values::Map< I, M, strict >

Value iterator for mapping values of a value iterator.

If strict is true, the values obtained by mapping must be strictly increasing (that is, no duplicates).

Definition at line 45 of file values-map.hpp.

Constructor & Destructor Documentation

◆ Map() [1/3]

template<class I , class M , bool strict>
Gecode::Iter::Values::Map< I, M, strict >::Map ( void )
inline

Default constructor.

Definition at line 84 of file values-map.hpp.

◆ Map() [2/3]

template<class I , class M , bool strict>
Gecode::Iter::Values::Map< I, M, strict >::Map ( I & i)
inline

Initialize with values from i.

Definition at line 88 of file values-map.hpp.

◆ Map() [3/3]

template<class I , class M , bool strict>
Gecode::Iter::Values::Map< I, M, strict >::Map ( I & i,
const M & m )
inline

Initialize with values from i and map m.

Definition at line 92 of file values-map.hpp.

Member Function Documentation

◆ init() [1/2]

template<class I , class M , bool strict>
void Gecode::Iter::Values::Map< I, M, strict >::init ( I & i)
inline

Initialize with values from i.

Definition at line 96 of file values-map.hpp.

◆ init() [2/2]

template<class I , class M , bool strict>
void Gecode::Iter::Values::Map< I, M, strict >::init ( I & i,
const M & m )
inline

Initialize with values from i and map m.

Definition at line 102 of file values-map.hpp.

◆ operator()()

template<class I , class M , bool strict>
bool Gecode::Iter::Values::Map< I, M, strict >::operator() ( void ) const
inline

Test whether iterator is still at a value or done.

Definition at line 120 of file values-map.hpp.

◆ operator++()

template<class I , class M , bool strict>
void Gecode::Iter::Values::Map< I, M, strict >::operator++ ( void )
inline

Move iterator to next value (if possible)

Definition at line 108 of file values-map.hpp.

◆ val()

template<class I , class M , bool strict>
int Gecode::Iter::Values::Map< I, M, strict >::val ( void ) const
inline

Return current value.

Definition at line 126 of file values-map.hpp.

Member Data Documentation

◆ i

template<class I , class M , bool strict = false>
I Gecode::Iter::Values::Map< I, M, strict >::i
protected

Input iterator.

Definition at line 48 of file values-map.hpp.

◆ m

template<class I , class M , bool strict = false>
M Gecode::Iter::Values::Map< I, M, strict >::m
protected

Mapping object.

Definition at line 50 of file values-map.hpp.


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