Class to iterate through a ConcatRows object. More...
#include <ConcatRows.h>
Public Member Functions | |
| ConcatRowsIter (const ConcatRows &) | |
| Construct the iterator on a ConcatRows object. | |
| ConcatRowsIter (const ConcatRows &, uInt start, uInt end, uInt incr=1) | |
| Construct the iterator on a ConcatRows object for the given row range. | |
| Bool | pastEnd () const |
| Is the iterator past the end? | |
| void | operator++ () |
| Go the next chunk. | |
| void | operator++ (int) |
| void | next () |
| RefRows | getChunk () const |
| Get the current chunk. | |
| uInt | tableNr () const |
| Get the nr of the table the current chunk is in. | |
Private Attributes | |
| const ConcatRows * | itsRows |
| Vector< uInt > | itsChunk |
| uInt | itsStart |
| uInt | itsEnd |
| uInt | itsIncr |
| uInt | itsPos |
| Bool | itsPastEnd |
Class to iterate through a ConcatRows object.
Internal
ConcatRowsSliceIter is useful to iterate through a ConcatRows object. It is possible to define for which row especially if the ConcatRows object contains slices. Each step in the iteration returns a Slice object containing the next slice in the ConcatRows object.
It is used in Table and data manager classes (e.g. StManColumn).
This example shows how to iterate through a ConcatRows object (giving a slice) and through each of the slices.
void somefunc (const ConcatRows& rownrs) // Iterate through all slices. ConcatRowsSliceIter 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 194 of file ConcatRows.h.
| casacore::ConcatRowsIter::ConcatRowsIter | ( | const ConcatRows & | ) | [explicit] |
Construct the iterator on a ConcatRows object.
It is set to the full range.
| casacore::ConcatRowsIter::ConcatRowsIter | ( | const ConcatRows & | , | |
| uInt | start, | |||
| uInt | end, | |||
| uInt | incr = 1 | |||
| ) |
Construct the iterator on a ConcatRows object for the given row range.
| RefRows casacore::ConcatRowsIter::getChunk | ( | ) | const [inline] |
Get the current chunk.
Definition at line 218 of file ConcatRows.h.
References itsChunk, and casacore::True.
| void casacore::ConcatRowsIter::next | ( | ) |
Referenced by operator++().
| void casacore::ConcatRowsIter::operator++ | ( | int | ) | [inline] |
Definition at line 212 of file ConcatRows.h.
References next().
| void casacore::ConcatRowsIter::operator++ | ( | ) | [inline] |
| Bool casacore::ConcatRowsIter::pastEnd | ( | ) | const [inline] |
| uInt casacore::ConcatRowsIter::tableNr | ( | ) | const [inline] |
Get the nr of the table the current chunk is in.
Definition at line 222 of file ConcatRows.h.
References itsPos.
Vector<uInt> casacore::ConcatRowsIter::itsChunk [private] |
Definition at line 227 of file ConcatRows.h.
Referenced by getChunk().
uInt casacore::ConcatRowsIter::itsEnd [private] |
Definition at line 229 of file ConcatRows.h.
uInt casacore::ConcatRowsIter::itsIncr [private] |
Definition at line 230 of file ConcatRows.h.
Bool casacore::ConcatRowsIter::itsPastEnd [private] |
Definition at line 232 of file ConcatRows.h.
Referenced by pastEnd().
uInt casacore::ConcatRowsIter::itsPos [private] |
Definition at line 231 of file ConcatRows.h.
Referenced by tableNr().
const ConcatRows* casacore::ConcatRowsIter::itsRows [private] |
Definition at line 226 of file ConcatRows.h.
uInt casacore::ConcatRowsIter::itsStart [private] |
Definition at line 228 of file ConcatRows.h.
1.6.1