Class to iterate through a RefRows object. More...
#include <RefRows.h>
Public Member Functions | |
| RefRowsSliceIter (const RefRows &) | |
| Construct the iterator on a RefRows object. | |
| void | reset () |
| Reset the iterator to the beginning. | |
| Bool | pastEnd () const |
| Is the iterator past the end? | |
| void | operator++ () |
| Go the next slice. | |
| void | operator++ (int) |
| void | next () |
| uInt | sliceStart () const |
| Get the current slice start, end, or increment. | |
| uInt | sliceEnd () const |
| uInt | sliceIncr () const |
Private Attributes | |
| Vector< uInt > | itsRows |
| Bool | itsSliced |
| uInt | itsStart |
| uInt | itsEnd |
| uInt | itsIncr |
| uInt | itsPos |
| Bool | itsPastEnd |
Class to iterate through a RefRows object.
Internal
RefRowsSliceIter is useful to iterate through a RefRows object, especially if the RefRows object contains slices. Each step in the iteration returns a Slice object containing the next slice in the RefRows object.
It is used in Table and data manager classes (e.g. StManColumn).
This example shows how to iterate through a RefRows object (giving a slice) and through each of the slices.
void somefunc (const RefRows& rownrs) // Iterate through all slices. RefRowsSliceIter rowiter(rownrs); while (! rowiter.pastEnd()) { // Get start, end, and increment for this slice. uInt rownr = rowiter.sliceStart(); uInt end = rowiter.sliceEnd(); uInt incr = rowiter.sliceIncr(); // Iterate through the row numbers in the slice. while (rownr <= end) { rownr += incr; } // Go to next slice. rowiter++; } }
Definition at line 208 of file RefRows.h.
| casacore::RefRowsSliceIter::RefRowsSliceIter | ( | const RefRows & | ) |
Construct the iterator on a RefRows object.
It is set to the beginning.
| void casacore::RefRowsSliceIter::next | ( | ) |
Referenced by operator++().
| void casacore::RefRowsSliceIter::operator++ | ( | int | ) | [inline] |
| void casacore::RefRowsSliceIter::operator++ | ( | ) | [inline] |
| Bool casacore::RefRowsSliceIter::pastEnd | ( | ) | const [inline] |
| void casacore::RefRowsSliceIter::reset | ( | ) |
Reset the iterator to the beginning.
| uInt casacore::RefRowsSliceIter::sliceEnd | ( | ) | const [inline] |
| uInt casacore::RefRowsSliceIter::sliceIncr | ( | ) | const [inline] |
| uInt casacore::RefRowsSliceIter::sliceStart | ( | ) | const [inline] |
uInt casacore::RefRowsSliceIter::itsEnd [private] |
Definition at line 245 of file RefRows.h.
Referenced by sliceEnd().
uInt casacore::RefRowsSliceIter::itsIncr [private] |
Definition at line 246 of file RefRows.h.
Referenced by sliceIncr().
Bool casacore::RefRowsSliceIter::itsPastEnd [private] |
uInt casacore::RefRowsSliceIter::itsPos [private] |
Vector<uInt> casacore::RefRowsSliceIter::itsRows [private] |
Bool casacore::RefRowsSliceIter::itsSliced [private] |
uInt casacore::RefRowsSliceIter::itsStart [private] |
Definition at line 244 of file RefRows.h.
Referenced by sliceStart().
1.6.1