Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I > Class Template Reference
[Range iterators]
Inherited by Gecode::Int::ViewRanges< DoubleScaleView >, and Gecode::Int::ViewRanges< IntScaleView >.
Detailed Description
template<class Val, class UnsVal, class I>
class Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >
Range iterator for pointwise product with a positive integer.
Note that this iterator has a different interface as it can be used for both integer precision as well as double precision (depending on the type Val (int
or double
) and on the type UnsVal (unsigned
int
or double
).
Definition at line 53 of file ranges-scale.icc.
Constructors and initialization | |
ScaleUp (void) | |
Default constructor. | |
ScaleUp (I &i, int a) | |
Initialize with ranges from i and scale factor a. | |
void | init (I &i, int a) |
Initialize with ranges from i and scale factor a. | |
Iteration control | |
bool | operator() (void) const |
Test whether iterator is still at a range or done. | |
void | operator++ (void) |
Move iterator to next range (if possible). | |
Range access | |
Val | min (void) const |
Return smallest value of range. | |
Val | max (void) const |
Return largest value of range. | |
UnsVal | width (void) const |
Return width of range (distance between minimum and maximum). | |
Protected Attributes | |
I | i |
Iterator to be scaled. | |
int | a |
Scale-factor. | |
Val | cur |
Current value of range. | |
Val | end |
Last value of scaled range of i. |
Constructor & Destructor Documentation
template<class Val, class UnsVal, class I>
Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::ScaleUp | ( | void | ) | [inline] |
template<class Val, class UnsVal, class I>
Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::ScaleUp | ( | I & | i, | |
int | a | |||
) | [inline] |
Member Function Documentation
template<class Val, class UnsVal, class I>
void Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::init | ( | I & | i, | |
int | a | |||
) | [inline] |
template<class Val, class UnsVal, class I>
bool Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::operator() | ( | void | ) | const [inline] |
template<class Val, class UnsVal, class I>
void Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::operator++ | ( | void | ) | [inline] |
template<class Val, class UnsVal, class I>
Val Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::min | ( | void | ) | const [inline] |
template<class Val, class UnsVal, class I>
Val Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::max | ( | void | ) | const [inline] |
template<class Val, class UnsVal, class I>
UnsVal Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::width | ( | void | ) | const [inline] |
Return width of range (distance between minimum and maximum).
Definition at line 188 of file ranges-scale.icc.
Member Data Documentation
template<class Val, class UnsVal, class I>
I Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::i [protected] |
template<class Val, class UnsVal, class I>
int Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::a [protected] |
template<class Val, class UnsVal, class I>
Val Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::cur [protected] |
template<class Val, class UnsVal, class I>
Val Gecode::Iter::Ranges::ScaleUp< Val, UnsVal, I >::end [protected] |
The documentation for this class was generated from the following file:
- gecode/iter/ranges-scale.icc (Revision: 4973)