61 r_Bytes tlen,
unsigned int step=1);
88 inline bool isDone(
void)
const;
93 inline void*
getData(
unsigned int *order);
163 #include "raslib/miterd.icc"
r_MiterDirect & operator++(void)
increment the iterator in the default order, i.e. last dimension first
r_Bytes getDimBaseStep(r_Dimension d) const
returns number of bytes to step in dimension d when pos changes by 1.
r_Range getDimStep(r_Dimension d) const
returns number of bytes to step in dimension d in one iteration
unsigned int r_ULong
Definition: odmgtypes.hh:114
void * baseAddress
Definition: miterd.hh:113
int r_Range
Definition: mddtypes.hh:100
void * data
Data concerning the iteration position and domain. May be changed by the user.
Definition: miterd.hh:142
unsigned int r_Dimension
Definition: mddtypes.hh:118
r_MiterDirect & iterateUserOrder(const r_Dimension *order, const unsigned int *step)
increment in user-specified order
Definition: miterd.hh:131
void * getData(void)
returns pointer to data during normal iteration.
std::ostream & operator<<(std::ostream &str, const r_MiterDirect &iter)
overloaded stream operator
void reset(void)
reset the iterator (pos to low and data to baseAddress + offset)
r_Range low
Definition: miterd.hh:144
bool isDone(void) const
returns != 0 if iteration is finished.
r_MiterDirect(void *data, const r_Minterval &total, const r_Minterval &iter, r_Bytes tlen, unsigned int step=1)
constructor
unsigned int r_Bytes
Definition: mddtypes.hh:56
~r_MiterDirect(void)
destructor
r_Range high
Definition: miterd.hh:145
r_miter_direct_data * id
Definition: miterd.hh:112
void posChanged(void)
notify that the position was changed and internal variables need to be recalculated ...
bool done
Definition: miterd.hh:111
r_Range pos
Definition: miterd.hh:143
void print_pos(std::ostream &str) const
print the position
Definition: minterval.hh:249
r_Range getExtent(r_Dimension d) const
returns extent in dimension d